查看“︁Demo:FreeRTOS”︁的源代码
←
Demo:FreeRTOS
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
不允许您执行您所请求的操作。
您可以查看和复制此页面的源代码。
在Bouffalo SDK上使用FreeRTOS APP。 === 源码介绍: === 该文件的源码在 bouffalo_sdk/examples/freertos/main.c中,该测试 demo 简单测试了一些组件,包括Semaphore,Mutex,Queue,Priority 的基本简单测试。 测试分为两个阶段: 阶段一以消费者生产者模型测试'''信号量'''和'''信号队列'''组件,共生成三个Task。阶段结束后Task自动销毁。 阶段二以共简单共享资源简单测试Task争夺临界资源的方式测试'''互斥量''',途中高优先级的任务将启动并占用CPU一段时间以此测试抢占'''任务调度'''。 === 源码编译: === 在该文件夹下有一个README.md文件,该文件中根据不同的开发板型号有不同编译的参数,例如bl616 :<syntaxhighlight lang="bash"> - BL616/BL618 ``` make CHIP=bl616 BOARD=bl616dk ``` #以上为README文件中的内容,根据内容直接执行对应make编译指令即可 </syntaxhighlight>make如果成功,你会在终端看到: [[文件:Make success.png|无|有框]] Generate .../bouffalo_sdk/examples/freertos/build/build_out/freertos_bl616.bin '''代表生成了对应可供烧录的固件'''。 === '''开发板烧录:''' === 执行make命令后,在该文件夹下会生成一个build目录,在文件夹中有一个生成的固件 freertos_bl616.bin ,该文件用于烧录直接使用(类似于keil生成的.hex文件)。 其具体路径为 '''.../bouffalo_sdk/examples/freertos/build/build_out/freertos_bl616.bin''' ==== 下载烧录工具: ==== 下载BLDevCube工具:下载后解压即可直接使用。 https://dev.bouffalolab.com/ '''烧录具体步骤:''' Step1:打开DevCube选择对应开发板型号。 [[文件:烧录Step1.png|无|缩略图|269x269像素]] Step2:选择对应的 .bin 文件,选择对应的串口。 '''注意:要选择IOT并勾选enable''' [[文件:烧录Step2.png|无|缩略图]] Step3: '''按住boot键按一下复位键(按复位时boot键不松开),然后点击Create & Download'''。查看下方的输出信息是否烧录成功。 === 源码部分输出: === <syntaxhighlight lang="bash">[FREERTOS_TEST CONSOLE] ===== PHASE 1: Queue/Semaphore Test ===== [FREERTOS_TEST CONSOLE] [I][MAIN] [Process Task]: Starting consumer tasks... [FREERTOS_TEST CONSOLE] [I][MAIN] [Process Task]: Starting producer task... [FREERTOS_TEST CONSOLE] [I][MAIN] [Consumer 1]: task started [FREERTOS_TEST CONSOLE] [I][MAIN] [Consumer 2]: task started [FREERTOS_TEST CONSOLE] [I][MAIN] [Producer 1]: message send success [FREERTOS_TEST CONSOLE] [I][MAIN] [Producer 1]: message send success [FREERTOS_TEST CONSOLE] [I][MAIN] [Consumer 1]: received msg (task:1, ts:1) [FREERTOS_TEST CONSOLE] [I][MAIN] [Consumer 2]: received msg (task:1, ts:501) [FREERTOS_TEST CONSOLE] [I][MAIN] [Producer 1]: message send success [FREERTOS_TEST CONSOLE] [I][MAIN] [Consumer 1]: received msg (task:1, ts:1001) [FREERTOS_TEST CONSOLE] [I][MAIN] [Consumer 2]: queue empty ..... [FREERTOS_TEST CONSOLE] ===== PHASE 2: Priority/Mutex Test ===== [FREERTOS_TEST CONSOLE] [I][MAIN] [Consumer 1]: Exiting due to phase change [FREERTOS_TEST CONSOLE] [I][MAIN] [Consumer 2]: Exiting due to phase change [FREERTOS_TEST CONSOLE] [I][MAIN] [Producer 1]: Exiting due to phase change [FREERTOS_TEST CONSOLE] [I][MAIN] [Process Task] Starting High Priority task... [FREERTOS_TEST CONSOLE] [I][MAIN] [Process Task] Starting Shared Resource tasks... [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: Attempt to acquire mutex [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: Aquired. [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: value = 1 [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: Holding mutex for 500ms [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 4]: Attempt to acquire mutex ..... [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 4]: Holding mutex for 500ms [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: Attempt to acquire mutex [FREERTOS_TEST CONSOLE] [I][MAIN] [High Priority Task]: High priority task running [FREERTOS_TEST CONSOLE] [I][MAIN] [High Priority Task]: Completed [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 4]: Release mutex [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: Aquired. [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: value = 5 ..... [FREERTOS_TEST CONSOLE] ===== END PHASE 2 ===== [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 4]: Release mutex [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: Aquired. [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: value = 11 [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: Holding mutex for 500ms [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 4]: Exiting due to phase change [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: Release mutex [FREERTOS_TEST CONSOLE] [I][MAIN] [Mutex Task 3]: Exiting due to phase change [FREERTOS_TEST CONSOLE] [I][MAIN] [Process Task] All Test Complete.</syntaxhighlight>
返回
Demo:FreeRTOS
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息