6..STM32F469I---uC/OS-III + uC/Probe + uC/Shell
STMCU
4180 人阅读
|
0 人回复
|
2018-01-12
TA的每日心情 | 难过 2021-2-27 22:16 |
|---|
签到天数: 1568 天 连续签到: 1 天 [LV.Master]伴坛终老
司徒
- 积分
- 33039
|
继续【转】收集的资料。
收到板子后就试着移植uC/OS-III。因为STM32F469还是Cortex-M4的核,参考Micrium官网F4的Demo, 移植过程还是很顺利的。只需要结合Micrium官网F4的Demo和STM32F4xx_StdPeriph_Driver,再更改下HSE即可。介绍下我使用?C/Probe和?C/Shell的过程。
一、使用?C/Probe
?C/Probe是Windows下的应用程序,可以在嵌入式系统运行时查看修改其内存。它读取嵌入式系统可执行文件(elf,axf),将其中的变量地址等信息映射到图形界面。?C/Probe不仅可以查看uC/OS-III内核的运行状态,而且通过简单地拖拽UI控件,还支持查看或修改用户变量以及shell终端等。
uC/Probe目前可以通过Jlink、串口、TCP、USB、 IAR IDE等和目标板进行通讯。使用 IAR IDE只要有个调试器就可以了,但是Keil MDK调试器目前只能选择jlink。虽然STM32F469-Discovery板子使用的是STlink调试器,但我们还是可以使用串口进行通讯。串口通讯需要在STM32F469嵌入?C/Probe目标板的代码。
uC/Probe使用USART3,USART3连接到板子上的STlink,将STlink的USB接口直接连接到PC机上,就可以使用这个串口了。
1、打开 EvalBoards\ST\STM32469I-Discovery\uCOS-III\KeilMDK\uCOS-III.wspx
2、在settings中选择相应的COM port。
3、点击Run。
我在STM32469I中写了两条shell命令。trace命令用于显示要输出的内容,add命令用于两个数相加。
uC/Probe Terminal中输入trace bbs.21ic.com,可以看到在上面的窗口中回显了bbs.21ic.com、
uC/Probe Terminal中接着输入add 111 222
二、使用?C/Shell
其实上面的例子里已经使用了?C/Shell,下面我再介绍使用板子上另一个串口USART6 执行shell命令和使用非阻塞printf。
USART6 在扩展排座CN12上,需要自己接USB-TLL转串口。
在SecureCRT打开串口终端,你现在可以使用类Linux的shell操作,可以使用TAB键显示所有shell命令,按上下键回显历史命令等。这些shell操作是从rt-thread中移植的。
如何实现printf 非阻塞? printf 最终调用fputc(),fputc()中不通过串口直接发送数据,而是将数据压入一个FIFO中,由另一个任务将FIFO数据弹出并通过串口发送。代码参见 bsp_ser.c 。
开发工具用的是Keil MDK 4.7, 虽然型号里没有STM32469I,但是可以用STM32407代替,把ROM和RAM大小改下即可。
|
|
|
|
|
|
|
|
|