博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FreeRTOS 移植到WIN10
阅读量:7181 次
发布时间:2019-06-29

本文共 1019 字,大约阅读时间需要 3 分钟。

背景

标题表述的不准确,大意是移植到WIN10的PC机,Intel I5。

最近因为项目接触了FreeRTOS 实时操作系统,想对这个操作系统有一个更深入的了解,所以决定下载源码看看,下面这个链接的随书一起的源码。

FreeRTOS 源码下载链接:

666431-20171125171220171-372702953.jpg

打开源码,看到它的portable/目录针对的是 "MSVC-MingW",应该在PC机上编译通过。

666431-20171125171347500-444414156.jpg

开发环境

嫌VS体积太大了,就用CodeBlocks吧。需要从 CodeBlocks 官网下载带"mingw"的版本,例如: codeblocks-16.01mingw-setup.exe

下载页面:
666431-20171125171358343-994620373.jpg

安装、新建工程就不详细写了,复制FreeRTOS整个目录到CodeBlocks工程目录,添加如下文件到CodeBlocks 工程,我这里只添加了一个demo到工程。

666431-20171125171415031-1983906618.jpg

编译、链接问题的解决

编译可能提示找不到文件"FreeRTOS.h",别着急,应该是这个文件没有添加到搜索路径,打开"Project build options" 然后添加如下文件到 "Search Directories" 就可以了。

666431-20171125171424937-1780855389.jpg

头文件问题解决了,但是又出现了其他的问题,例如这个函数 timeGetDevCaps() 是无效的引用,Google 之后发现这个函数是 windows 平台使用的,那么

解决办法是添加头文件 "Windows.h". 后来发现不用加,因为是ld错误,不是编译错误,所以只用把 winmm.dll 添加到链接选项就可以

666431-20171125171437609-1926771909.jpg

但是再次编译,ld错误,依然是这个函数,怎么办?根据刚才的 google ,这个函数它的库文件和动态连接文件分别是"winmm.lib" 和 "winmm.dll",那么在工程设置里面添加这个文件,如下:

666431-20171125171449656-388294289.jpg

在编译的时候,还可能遇到 port.c 中有一个宏 STACK_SIZE_PARAM_IS_A_RESERVATION未命名的情况,没关系,直接删除就可以了。

运行结果

经过上面的折腾,终于能够运行了,结果如下:

666431-20171125171504234-1286760287.jpg

声明

欢迎转载,请注明出处和作者,同时保留声明。

作者:LinTeX9527
出处:
本博客的文章如无特殊说明,均为原创,转载请注明出处。如未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/LinTeX9527/p/7895641.html

你可能感兴趣的文章
Day 4
查看>>
面向对象(理解对象)——JavaScript基础总结(一)
查看>>
写项目代码之前必须要做的事
查看>>
别装啦!一看就知道你要跳槽了.....
查看>>
java B2B2C Springcloud电子商城系统-Spring Cloud常见问题与总结(四)
查看>>
2017双11技术揭秘—阿里巴巴数据库技术架构演进
查看>>
聊聊字典编码
查看>>
独家 | 史上最权威的BI 趋势分析及产品对比
查看>>
观点 | 云原生时代来袭 下一代云数据库技术将走向何方?
查看>>
互联网分布式微服务云平台规划分析--SSO单点登录系统
查看>>
经典以太坊是什么
查看>>
SpringCloud之高可用的分布式配置中心(Spring Cloud Config)(七)
查看>>
h5实现微信扫码
查看>>
curl: (6) Couldn't resolve host 'www.ttlsa.com'
查看>>
JS闭包问题
查看>>
Linux下卸载文件系统
查看>>
我的友情链接
查看>>
文件名过长/文件夹路径过长 无法删除文件夹之解决办法
查看>>
Js获取当前页面URL的一些属性_已迁移
查看>>
test
查看>>