rt-thread源码移植到stm32f10x和stm32f4xx:
一、源码下载
点击入门->下载
在历史版本里边随便选取一个
会进入百度云盘的下载地址,里边有全部版本的源码。这里下载v2.1.0的稳定版本。
解压后的源码目录结构:
基本内核的移植只需要关心目录-bsp、include、libcpu、src。
二、开始移植
1、文件拷贝
-- f:rt-thread源码 t-thread-2.1.0spstm32f10x下的rtconfig.h。
--f:rt-thread源码 t-thread-2.1.0spstm32f10xapplications下的application.c和startup.c。
--f:rt-thread源码 t-thread-2.1.0spstm32f10xdrivers下的board.c和board.h。
--f:rt-thread源码 t-thread-2.1.0include下的所有头文件。
-- f:rt-thread源码 t-thread-2.1.0libcpuarmcortex-m3下的cpuport.c和对应ide的汇编文件。
keil mdk使用context_rvds.s。
--f:rt-thread源码 t-thread-2.1.0src下的所有文件。此目录是rt-thread的内核代码。
stm32的启动文件等自己添加。也可以直接复制源码中的文件。
2、工程目录结构
rt-thread存放rtos源码,也就是用户无需修改的文件。
applications存放用户修改文件和配置文件。
3、修改board.c文件
主要作用:初始化外设、硬件等。
源码中提供的函数:
nvic_configuration(void)里,加上中断分组的配置。
ext_sram_configuration(void)是配置外部运存的代码,如果用不到,可以不管或者删除。关于48行的宏stm32_ext_sram可在rtconfig.h里边找到。
这个是系统心跳中断服务函数。默认使用内核自带的systemtick计数器。当然,也可以使用定时器来产生系统心跳。只要能够周期性调用下图165行、167行、170行的代码即可。
rt_hw_board_init(void)函数是单片机上电调用的一个函数,主要功能就是初始化外设,串口、定时器、gpio之类的。
4、修改application.c文件
主要作用:用户任务线程初始化、执行。
从43行开始,把下面的内容全部删除。然后自己重写。
主要提供一个int rt_application_init(void)的初始化函数即可。然后其他的全是任务线程。
5、提供串口打印函数
rt-thread使用rt_hw_console_output函数来打印一些信息,这个只要在串口驱动文件里边写好即可。不需要extern。
6、修改配置文件rtconfig.h
注释掉78行即可。
移植完成。
三、创建应用
UART串口WiFi模块进入智能家居市场的关键因素竟是功耗
有什么商务蓝牙耳机推荐?盘点四款通话清晰的商务蓝牙耳机
北京大学在碳纳米管集成电路领域取得重要进展
高压线引流线夹螺栓预紧装置拧紧力分析及控制方法
三星10000mAh 25W快充移动电源采用芯导科技功率器件
RT-thread源码移植到STM32F10x和STM32F4xx
iphone被黑得最惨的一次:iphone被《你的名字》黑?
等离子切割机故障大全及解决方法
移动支付如何破局?银联拉拢中小支付机构对抗微信支付宝
三星S10或将通过侧方挖孔的方式来放置前置摄像头
如何用NOP指令覆盖相关代码绕开鉴权
破壁机如何进行气密性防水检测
电容和电感组成LC振荡电路原理和应用电路分析
细节见真章,一组图让你看清直10的矛与盾
2019年上半年全球车载面板出货7900万,大尺寸化趋势明显
天文学家是如何利用人工智能的:望远镜进行协调配合,挖掘数据
消费者对智能家居的使用持续增长 今年市场规模将超过7000亿
新人工智能技术的大规模商业化应用将会如何影响全球经济发展
iphone8发布会前瞻:iPhone8定制版/国行售价/配置/外观大曝光,苹果8发布会时间/地点/直播地址这里有
人工智能企业将书写AIoT的新篇章