文章
  • 文章
搜索
首页 >> 技术文档 >>官方资料 >> AG32 下使用 uC/OS 的参考
详细内容

AG32 下使用 uC/OS 的参考

在 SDK 下已经有移植好的 uC/OS-III V3.08.01 版本,可供用户使用。

源码位于:\AgRV_pio\packages\framework-agrv_ucos\

用户使用时,不必关注该源码,只需关注 API


一、简单验证:


使用时,从 VSCODE 中直接打开工程:\AgRV_pio\platforms\AgRV\examples\uCOS

打开工程后,可以先验证简单的运行情况。

这个工程中,并没有 ve 文件(而是使用了默认的 ve 文件)。

便于后续开发,可以先建立一份 ve。

步骤:

1. 从 example 路径下 copy 一份 example_board.ve 过来,重命名为 uCOS_board.ve;

2. 打开该 uCOS_board.ve,删除掉里边除 clk 和 led 灯以外的其他引脚配置;

3. 在 platformio.ini 中添加对该 ve 的引用:board_logic.ve = uCOS_board.ve

接下来,编译 ve 并烧录,然后编译 code 并烧录。

两项都烧录成功后,就可以看到 led 灯的闪烁了。


二、使用样例:

打开 main.c,可以看到例程中展示了几种元素的使用方法:Semaphore、Queue、Task、Timer。

这里简化样例时,比如只保留一个 Task:AppTaskTimer,则注掉其他 task 的创建即可。

uC/OS 的样例较为简单,自行尝试即可。


三、使用自建工程:

如果用户希望在自建工程中使用 uC/OS,该如何把它添加进来?

比如,在 example 下要把 uC/OS 加进来。步骤:

1. 在 platformio.ini 中增加对 uC/OS 的引用:

7a44f37b-45f1-41bc-91b4-021fa61854b6.png

注意,多个库之间用“逗号+空格”来隔开。

2. 确认 ve 文件里的配置正常(时钟+led 引脚);

3. 将用到的几个头文件从 uCOS 工程下 copy 过来;

4. 在 example.c 中引入 freertos 的头文件及用到的宏定义:

c2f7d6b4-2ec2-4401-9974-6454320a6f65.png

5. 在 example.c 中新增几个函数(从 uCOS 的例程中简化过来的):

e1be5d27-3950-4013-8c32-b3af06cff5d5.png

6. 在 main.c 中保留 uCOS 的启动即可:


eb4c416f-c24e-41b8-a8d4-0682d0f9928b.png


然后,编译 ve 并烧录,再编译 code 并烧录,就可以看到 led 的闪烁了。


AG32VF407宣传.jpg


在线商城.png


需要获取更多的“资料”和“支持”和“样片测样申请”可以联系我们

提供“芯片测样-发送资料-技术支持-批量采购”


联系方式: 姚工 13661545024(VX同号)

(加的时候备注下公司名和个人名字)

在线商城:agm-micro.taobao.com

公司网站:www.agm-micro.com

资料网站: www.tcx-micro.com


关于我们

品牌中心

产品中心

新闻动态

咨询热线:13661545024(全国技术销售热线)

上海天晨芯科技有限公司

销售邮箱:sales@chipmorn.com

技术邮箱:jun.yao@chipmorn.com

公司地址:上海浦东新区东方路1365号5号楼

seo seo