打印
[STM32F4]

【STM32F469I试用】uC/OS-III + uC/Probe + uC/Shell

[复制链接]
8364|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 lin704932121 于 2016-1-6 21:49 编辑

      收到板子后就试着移植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命令用于两个数相加。
    Shell_Init();             /*Initialize uC/Shell*/  
    /*Add shell command*/
    Shell_CmdTblAdd("trace", (SHELL_CMD[]){{"trace", trace},{0, 0 }}, &shell_err); /*--gnu C style, see Options for Target C/C++*/
    Shell_CmdTblAdd("add", (SHELL_CMD[]){{"add", add},{0, 0 }}, &shell_err);       /*--gnu C style, see Options for Target C/C++*/

    ProbeCom_Init();         /* Initialize the Generic module */  
    ProbeRS232_Init(115200); /* Initialize the USART3 interface */
    ProbeRS232_RxIntEn();    /* Initialize the USART3 Rx interrupts */
   
    ProbeTermAppHookRxPtr = AppProbeTermHookRx;
    ProbeTermInit(&term_err); /* Initialize the uC/Probe terminal window. */
      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大小改下即可。


      


STM32F469-uCOS-III.part02.rar

538.26 KB

STM32F469-uCOS-III.part01.rar

1 MB

来自 2楼
lin704932121|  楼主 | 2017-3-11 09:59 | 只看该作者
uC/Probe安装包下载地址:http://pan.baidu.com/s/1c2zObYg

使用特权

评论回复
板凳
犹豫的大三| | 2016-1-6 08:45 | 只看该作者
楼主可以将uC/Probe和谐版本发在这里吗?咱不是没有账号吗

使用特权

评论回复
地板
yklstudent| | 2016-1-6 09:05 | 只看该作者
赞同楼上的,隔壁账号被封了,楼主还是转过来吧

使用特权

评论回复
5
lin704932121|  楼主 | 2016-1-6 10:17 | 只看该作者
权限太低了,只能发1M的附件,安装包有100M呢

使用特权

评论回复
6
suebillt| | 2016-1-28 16:16 | 只看该作者
你好,我现在在STM32F407上面使用UCOS III,并且想要用PROBE来观测,但是Probe不能显示任务名称等,只能看到CPU USEGE等,还想请教您怎么使用。谢谢

使用特权

评论回复
7
lin704932121|  楼主 | 2016-1-28 18:16 | 只看该作者
suebillt 发表于 2016-1-28 16:16
你好,我现在在STM32F407上面使用UCOS III,并且想要用PROBE来观测,但是Probe不能显示任务名称等,只能看 ...

OS_CFG_DBG_EN 宏有使能吗,还有uC/Probe加载的可执行文件是否和板子上的程序对应。我用的版本是3.6.15.700

使用特权

评论回复
8
suebillt| | 2016-1-28 18:33 | 只看该作者
OS_CFG_DBG_EN已经使能了,加载的文件也对应,不过我用的是Keil 5

使用特权

评论回复
9
ofsummer| | 2016-1-31 11:43 | 只看该作者
我想用的话,有没有提前的使用说明什么的?

使用特权

评论回复
10
lin704932121|  楼主 | 2016-2-1 17:06 | 只看该作者
ofsummer 发表于 2016-1-31 11:43
我想用的话,有没有提前的使用说明什么的?

安装完成uC/Probe后会生成的两个使用文档: Target Manual  和 User Manual ,这里面对uC/Probe的设置和UI控件的使用都有详细的说明。
另外Micrium官方出的中文书《嵌入式实时操作系统μC/OS-III应用开发:基于STM32微控制器》对uC/Probe也有简要介绍。

使用特权

评论回复
11
song19881218| | 2016-2-26 18:58 | 只看该作者
.wspx 文件怎么生成的呢?

使用特权

评论回复
12
lin704932121|  楼主 | 2016-2-28 15:44 | 只看该作者
song19881218 发表于 2016-2-26 18:58
.wspx 文件怎么生成的呢?

1、打开uC/Probe
2、选择File-->New Workspace
3、在Symbol  Browser里点击ELF按钮,并选择程序的可执行文件(.axf  .elf)。
     在Symbol  Browser里点击CDF按钮,并选择你单片机的型号。
4、选择File-->Save ,即可生成.wspx文件。

使用特权

评论回复
13
夏夜已静| | 2016-4-30 17:06 | 只看该作者
你好,能请教一个问题吗?
我点run以后,弹出一个框提示:Unable to interface through J-LINK

使用特权

评论回复
14
lin704932121|  楼主 | 2016-5-5 14:07 | 只看该作者
夏夜已静 发表于 2016-4-30 17:06
你好,能请教一个问题吗?
我点run以后,弹出一个框提示:Unable to interface through J-LINK ...

还没遇到过这样问题,试着重新安装Jlink驱动吧。我的Jlink驱动版本是V4.15。

使用特权

评论回复
15
mintspring| | 2016-5-5 21:46 | 只看该作者
现在下载那些貌似需要登录才可以。楼主发来实在是太好了

使用特权

评论回复
16
rainbowII| | 2017-1-9 22:37 | 只看该作者
楼主的附件是什么东西啊?

使用特权

评论回复
17
lin704932121|  楼主 | 2017-1-10 21:54 | 只看该作者
rainbowII 发表于 2017-1-9 22:37
楼主的附件是什么东西啊?

STM32F469-Discovery板子上的代码

使用特权

评论回复
18
robinfeng2014| | 2017-2-27 10:27 | 只看该作者
能否发一份uc probe安装包, 发Q:1207293867@qq.com

使用特权

评论回复
19
houjiakai| | 2017-2-27 17:07 | 只看该作者
是带有TFT屏幕的哪个吗?

使用特权

评论回复
20
wjy666888| | 2017-9-1 17:50 | 只看该作者
请教下楼主"   在SecureCRT打开串口终端,你现在可以使用类Linux的shell操作,可以使用TAB键显示所有shell命令,按上下键回显历史命令等。这些shell操作是从rt-thread中移植的。"

如何将shell命令加进去呢?谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

82

帖子

18

粉丝