
在 SDK 下已经有移植好的 FreeRTOS Kernel V10.4.6 版本,可供用户使用。
源码位于:\AgRV_pio\packages\framework-agrv_freertos\
用户使用时,不必关注该源码,只需关注 API 使用即可。
一、简单验证:
使用时,从 VSCODE 中直接可以打开以下工程:
打开工程:\AgRV_pio\platforms\AgRV\examples\freeRTOS,打开工程后,可以先验证简单的运行情况。
这个工程中,并没有 ve 文件(而是使用了默认的 ve 文件)。
便于后续开发,可以先建立一份 ve。
步骤:
1. 从 example 路径下 copy 一份 example_board.ve 过来;
2. 打开该 example_board.ve,删除掉里边除 clk 和 led 灯以外的其他引脚配置;
3. 在 platformio.ini 中添加对该 ve 的引用:board_logic.ve = example_board.ve
接下来,编译 ve 并烧录,然后编译 code 并烧录。
两项都烧录成功后,就可以看到 led 灯的闪烁了。
二、使用样例:
打开 main.c,可以看到在 main 函数中使用了几种元素:xQueue、xSemaphore、xTask、xTimer。
同时在 main.c 中对接的 hook 回调中,会配合使用这些元素。
这里注意,如果要精简样例,比如只跑一个 task 时,删除其他元素时,要同时把 hook 里对应的调用也删除。
main() 函数中,可精简到调用 3 个函数:
int main(void) { prvSetupHardware(); xTaskCreate(led_task, "led_task", configMINIMAL_STACK_SIZE, NULL, mainEVENT_SEMAPHORE_TASK_PRIORITY, &xGPTimerTask);vTaskStartScheduler(); for(;;); }
其中,prvSetupHardware()函数中有 init 函数是必须的:
在 led_task 中可写闪灯代码如下:
另外,由于不再使用 xEventSemaphore,也需要在 vApplicationTickHook 中去除对 xSemaphore的操作:
可尝试编译运行,查看效果。
除了以上简化过程,还有用户会使用到 freeRTOS 的静态方法。
如果使用静态方法,
即打开了宏:configSUPPORT_STATIC_ALLOCATION,需要新增两个 hook函数,可参考:
https://blog.csdn.net/m0_46451722/article/details/113053257 中的描述。
使用如:
编译通过后,可在函数中使用 static 那组函数。
用法和动态那组函数相似,注意参数使用静态分配好的即可。
三、使用自建工程:
如果用户希望在自建工程中使用 freeRTOS,该如何把它添加进来?
比如,在 example 下要把 freeRTOS 加进来。步骤:
1. 在 platformio.ini 中增加对 freertos 的引用:
注意,多个库之间用“逗号+空格”来隔开。
2. 确认 ve 文件里的配置正常(时钟+led 引脚);
3. 在 example.c 中引入 freertos 的头文件及用到的宏定义:
4. 在 example.c 中新增几个函数:
5. 在 main.c 中 init 后直接启动 freeRTOS:
然后,编译 ve 并烧录,再编译 code 并烧录,就可以看到 led 的闪烁了。
AG32产品特色:
1、AG32与市场上的通用MCU相比体现了极致的差异化,RISC-V+CPLD内核架构(单一管芯非合封),业内唯一的存在。
2、与市场上的单片机+FPGA分立集成的产品比起来,最大的优势是逻辑部分可以直接连单片机的总线,AG32的是AHB总线,可以通过DMA搬运数据,甚至自己就可以做DMA主机。
3、客户买一颗MCU或者CPLD芯片的市场价格,同时获得两颗芯片的实用价值,性价比极具优势。淘宝零售价格:48PIN 7.5人民币。
4、AG32提供丰富的SDK库,着力于用户简洁编程模式,基本所有外设、Freertos、usb都写了库。另外还有非常有参考性的MCU+FPGA联合开发的库,里面通过AHB总线直接访问、或者是转APB之后访问低速外设。
5、AG32没有限定应用场景,是极其灵活可定制的产品,AG32管脚就像乐高积木,所有管脚几乎都可以动态配置。可定制逻辑可以用于定制各种接口、特定算法、加密甚至串口(有客户甚至用其定制支持多达15个)。
6、帮助客户在内卷市场打造属于他们的差异化产品竞争力,在使用通用MCU、FPGA、专用芯片之间的边缘地带,用最快时间推出新产品,且兼顾成本。
来源:AGM Micro
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。