STM32上应用uCOSII学习笔记(1)
本文全文下载 PDF格式
2009.09.03
STM32 CPU的分类
我们申请的样品型号是:STM32F103ZET6 TQFP-144 封装
官方评估板型号:MB672
STM3210E-EVAL
VM STM32开发板上资源。
CPU:STM32F103ZET6
SRAM:IS64WV6416BL(STM3210E开发板上的SRAM为IS61WV51216BL)片选CS都使用的FSMC_NCE3
开发工具包括:
Segger J-Link,J-Flash ARM等
Keil MDK3.20
用J-Flash ARM先建立了一个STM32F103ZET6.jflash的项目。然后,将相关的程序成功的通过这个项目文件烧录到CPU的内部Flash中。
2009.9.04
在Keil
uVersion3 中调用J-FlashARM.exe
下载和擦除和STM32内部Flash。
J-FlashARM 是Segger提供的用J-Link实现下载ARM处理器的Flash(外部,内部)的非常好用的工具。
ARM toolchain: Getting Started User's
Guide - Flash Programming - Define Flash Algorithms
注:试了半天Keil的Flash Programming。好像不支持2K的Page。所以,对这款MCU内部的Flash烧录有错误。
最后选择Segger的JFlashARM工具。JFlashARM.exe的参数如下:
2009.9.8
AN-1320.pdf
uC/OS-II, uc/Probe and the
STMicroelectronics STM32 Processor
1.
介绍
本文(AN1320)说明了在基于STM32(Cortex-M3)处理器的三种不同评估板上使用uC/OS-II和uC/Probe的代码。第一种板子是ST的STM3210B-EVAL 评估板(如图1-2);第种板子是IAR的STM32-SK评估板(如图1-1);第三种板子是ST的STM3210E-EVAL评估板(如图1-3)。在这些评估板上的STM32测试包括:一个128kB Flash、20kB SRAM,系统运行在72MHz。还包括一些接口外设:UARTs, I2C, SPI, CAN,USB, 两个12通道的ADCs,3个通用目的Timer以及片上多达80个的GPIO。
ST提供STM32处理器的驱动库,就像它的ARM7和ARM9做的一样。每个处理器外设多有对应的函数序列以便新用户有基本的能力控制外设。尽管在面对更复杂的需求时这个库可能只适合做为参考,但是本AN中提到的例程都是利用这个驱动库来访问外设的。
如果本AN是通过下载的打包可执行压缩文件获得的,它应该是在/Micrium/Appnotes/AN1xxx-RTOS/AN1320-uCOS-II-ST-STM32目录下。在第2.02节会描述代码组织架构。这些文件的具体描述会在第3节。
这个可执行压缩包还包括uC/Probe的例子。uC/Probe是一个Windows应用程序。它用来跟踪嵌入式目标的变量值并以很有好的格式显示出来。它与STM32是通过RS-232接口来通讯的。关于更多的如何下载试用版的程序的信息请参考第6节。
2.
开始行动
下面这章会逐步的分析本文提到的演示应用程序。首先,搭建硬件环境。其次,使用和建立IAR嵌入式开发环境和Keil
uVision3项目。然后,逐步构建工程项目文件然后通过JTAG调试程序。最后,是应用例程的相关指令。
2.01 设置硬件
所有评估板上的处理器都可以通过20pin的JTAG口,用JTAG仿真器(例如J-LINK,IAR项目;ULINK Keil项目)来进行调试。
所有的开发板都是用标准直流电源供电的。STM3210B-EVAL和STM3210E-EVAL都是5VDC供电;STM32-SK是9VDC供电。
如果要在STM32上使用uC/Probe,请安装第6章的描述从Micrium网站上下载评估版的软件并安装。再将例程下载到你的目标板上后,用RS-232线连接你的PC和评估板,配置RS-232选项(第6章描述),然后,开始运行程序。打开的数据窗口会更新,如图1-2所示。STM32-SK例程是使用UART2。STM3210B-EVAL/STM3210E-EVAL例程是使用UART1。所有串口都是配置为115200波特率。
2.03 STM32-SK IAR项目
STM32-SK-OS-Probe-LCD.ewp项目文件在/Micrium/Software/EvalBoards/ST/STM32-SK/OS-Probe-LCD目录下。
4.应用代码
本文描述的例程是在STM32-SK,ST STM3210B-EVAL和ST-STM3210E-EVAL开发板的STM处理器上实现uC/OS-II和uC/Probe的简单演示。所有设置的基本过程都在app.c文件中。将来用户利用这些软件模块,可以将这个文件作为启示模板。虽然只是简单的Demo软件和硬件,这些代码以及很明显的使我们感受到uC/OS-II在STM32处理器上运行时多么的方便,根本不需要复杂和冗余的例子。
4.01 app.c
App.c 中有5个函数值得我们关心:
1.
main()函数是应用程序的入口,它都是由C代码实现的。这个函数初始化操作系统,创建第一个应用任务,AppTaskStart(),启动多任务,以及退出。
2.
AppTaskStart(),在创建完用户接口任务后,进入基于按键状态的LED闪烁程序。
3.
AppTaskUserIF(),向LCD写相关信息。
4.
AppTaskKbd(),用于监视按键的状态。当按键按下后,这个任务会向AppTaskUserIF()发送消息(Message)。AppTaskUserIF()会进行相应的LCD屏幕更新。
ST官方提供的STM32 Cortex-M3 开发板配套的uC/OS-II工程源码 下载!!
ST官方评估板型号:MB672 STM3210E-EVAL原理图 下载!!
一个用STM32
Cortex-M3 MCU上跑uC/OS-II操作系统的GPS工程源码 下载!!
本文全文下载 PDF格式
未完,待续...
用户341365 2011-4-8 22:37