第一范文网 - 专业文章范例文档资料分享平台

图文并茂教你在keil下搭建RT-thread最小系统工程 

来源:用户分享 时间:2025/5/18 11:21:03 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

一起来学RTT系列教程 图文并茂教你在keil下搭建RT-thread最小系统工程

日期:2013-05-4 keilMDK版本号:4.54

对于初次接触RT-thread的朋友来说,要想自己重新建立一个keil下的工程,可能会觉得不知所措,那么看到这篇文字,可能对你会有帮助。

我在这里演示了如何提取官方bsp包中stm32分支中的相关文件,重新组织文件结构,按照下图中的文件夹分配,重新生成keil下的工程,这个工程将会包括RT-thread的内核和finsh组件。

我愿意在开始前说明下分别建立这几个文件夹的作用:

project ——存放MDK工程文件;

RT-thread ——存放rtt源码包(放在最外层);

apps ——存放我们自己(用户)写的一些应用代码; drivers ——存放硬件外设驱动;

third_part ——存放第三方程序源码,比如stm32固件库、解码库等; obj ——目标文件;

这么一来,各类代码分类一清二楚,好了,现在开始一步一步带大家走一遍生成这个工程的过程,当你明白后可按照自己的意愿去生成工程。 ? 拷贝所需的文件

解压RT-Thread源码,将源码放在我们所建立的工程文件夹外面(这么放是方便以后的工程可以共用)

RT-Thread源码 (我改了下文件夹名字) 我们准备构建的工程文件夹,包含上图中的各个文件夹

从源码bsp\\stm32f10x目录copy下图所列出的文件,放入 篇3-例程1-重构RTT最小系统\\apps目录

UP MCU工作室 1 / 9

一起来学RTT系列教程

从源码bsp\\stm32f10x目录copy下图列出的必要的驱动文件,放入 篇3-例程1-重构RTT最小系统\\drivers目录

从源码bsp\\stm32f10x\\ Libraries目录copy CMSIS、STM32F10x_StdPeriph_Driver,两个文件夹放入 篇3-例程1-重构RTT最小系统\\ third_part目录 ? 建立MDK工程

启动MDK,新建一个工程,将工程保存路径设置到篇3-例程1-重构RTT最小系统\\project目录,并给工程命名。如下图所示:

UP MCU工作室 2 / 9

一起来学RTT系列教程 工程保存到此文件夹 设置工程名

之后点击 保存 按钮,进入选择目标芯片界面,如下图:

选择目标芯片

选择以后,会跳出提示,询问我们是否需要加入MDK为我们准备好的启动文件,我们选择否,即不加入:

UP MCU工作室 3 / 9

一起来学RTT系列教程 选择否

? 给工程加入所需文件

我们先修改下工程属性,并按模块建立几个工程文件夹,如下所示:

建立各个文件夹 双击后即可修改 用以添加文件

接下来,我们开始往各个文件夹中添加文件: StartUp中加入apps、drivers文件夹下所有.c文件; Apps、Driver暂时不加入任何内容;

cm3中加入RT-Thread源码下libcpu\\arm\\common\\ 下所有.c文件,加入

libcpu\\arm\\ cortex-m3\\下cpuport.c和context_rvds.S这两个文件; STM32_StdPeriph中加入third_part\\ STM32F10x_StdPeriph_Driver\\src下所有.c

文件,加入third_part\\CMSIS\\CM3\\CoreSupport\\core_cm3.c

加入third_part\\CMSIS\\DeviceSupport\\ST\\STM32F10x\\system_stm32f10x.c 加入third_part\\CMSIS\\DeviceSupport\\ST\\STM32F10x\\ startup\\arm\\

startup_stm32f10x_hd.s

kernel中加入RT-thread源码目录中src下所有.c文件

UP MCU工作室 4 / 9

一起来学RTT系列教程

Finsh中加入RT-thread源码目录中src\\ components\\ finsh下所有.c文件 至此文件添加完毕!

? 设置包含路径

按照下图中所列的include paths添加文件包含列表

并将工程编译时的output路径和listing路径执行obj文件夹

? 其他设置

在下图所示区域设置器件类型和制定使用stm32固件库:

UP MCU工作室 5 / 9

一起来学RTT系列教程

最后加入一些编译控制,防止一些没被调用的函数被连接器移除(使用finsh时很重要)

? 编译、下载验证

UP MCU工作室 6 / 9

一起来学RTT系列教程 如果上面步骤都没问题,工程将会顺利编译通过,如果有错误提示,请检查各个步骤的操作。

0 error 0 warning 编译ok后,说明我们的设置都ok,接下来,我们修改下硬件配置使之与我们的目标板对应:

led.c中我们用GPIOF8、GPIOF9来替换原来的GPIOE2、GPIOE3:

#define led1_rcc RCC_APB2Periph_GPIOF #define led1_gpio GPIOF #define led1_pin GPIO_Pin_8

#define led2_rcc RCC_APB2Periph_GPIOF #define led2_gpio GPIOF #define led2_pin GPIO_Pin_9

程序中默认使用串口1作为终端,针对我的目标板就无需改了,如果你的板子串口不是串口1,则改动下面两处:

board.h中:

#define STM32_CONSOLE_USART 1 //根据目标板自己实际修改

rt_config.h中:

#define RT_USING_UART1 //根据目标板实际情况修改

最后进行下载前的最后设置:

UP MCU工作室 7 / 9

一起来学RTT系列教程 我用的stlink JTAG接口

我用的stlink

UP MCU工作室 8 / 9

一起来学RTT系列教程 以上都ok后,我们点击MDK下debug->start/stop Debug session即可下载程序,完成后后点击debug->run即可观察到串口的输出和led灯闪烁,至此工程建立完毕!!!

例程源码放在百度网盘:http://pan.http://m.diyifanwen.net//share/link?shareid=332467&uk=506725102

UP MCU工作室 9 / 9

图文并茂教你在keil下搭建RT-thread最小系统工程 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9gvyv8qp2t9jajr89mbx_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top