IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【交叉编译踩坑指北(四)】VScode构建数莓派Pico的FreeRTOS系统 -> 正文阅读

[开发工具]【交叉编译踩坑指北(四)】VScode构建数莓派Pico的FreeRTOS系统

写在前面

??我们在第二章和第三章中分别讨论了在windows x86平台下和linux x86平台下使用CMake实现交叉编译,成功点亮数莓派.由此可见CMake强大的跨平台功能.
??因此,后面的章节仅以一种平台为例,如果想要使用另一种平台或者其他平台(如MacOS),相信你参考前面的章节也可以快速迁移学习.
??FreeRTOS是一种适合资源受限嵌入式系统的实时操作系统,具有可迁移性.目前广泛使用在STM32中(可以搜索到很多基于keil的RTOS移植到STM32上的方法).同时乐鑫公司的ESP32系列更加方便,其直接支持FreeRTOS,可以借助ArduinoIDE直接写FreeRTOS代码并烧录运行.其教程如下.

https://www.bilibili.com/video/BV1q54y1Z7ca/?spm_id_from=333.337.search-card.all.click

??本系列秉持着 先实现后探究 的路径,关于CMake以及本章中的文件代码具体分析,将在之后的文章中进行探究.
??话不多说,进入正题.


本章所使用的工具和文件

工具/文件版本备注
??系统平台Ubuntu 18.04x86_64bit,也可以尝试其他系统,更改相应工具
??VScode任意版本安装C/C++、Cmake和CmakeTools扩展(见第一章)
??cmake3.25.0见第三章,cmake --version查看版本
??make(Unix)GNU MAKE 4.1输入make -v来查看,一般是系统自带
??(交叉编译器)arm-none-eabi-gcc -vgcc version 6.3.1见第三章
?? pico-sdkgithub最新见第三章,保持之前的存放路径不变
?? rp2040-freertos-projectgithub最新下载方式见(1)

(1):使用git下载rp2040-freertos-project

git clone --recurse-submodules
https://github.com/LearnEmbeddedSystems/rp2040-freertos-project

此外,该文件的相关解析见下

https://learnembeddedsystems.co.uk/freertos-on-rp2040-boards-pi-pico-etc-using-vscode


构建生成文件

?? 在第三章的基础上,保持VScode中CMakeTools的配置不变动.直接选择CMakeTools的编译器为arm-none-eabi,然后进行Configure和build就可以在生成的build文件夹下看到生成的文件,找到ProjectFiles,找到blink.uf2,这就是最终所需要的文件.
?? 数莓派Pico以硬盘模式插入电脑,在数莓派硬盘内放入刚刚生成的blink.uf2即可.
?? 注意到,与第三章不同的是,这里的main文件中可以调用FreeRTOS库,并且使用了vTaskDelay等RTOS函数.而第三章仅仅借助pico-sdk进行裸板开发,并没有使用FreeRTOS.如果想要简单实现不同功能,只要修改这个main.c文件,然后再用CMakeTools进行Configure&build就可以了.
在这里插入图片描述
?? 至此,FreeRTOS移植数莓派功!
?? 既然(Since)我们已经实现了操作系统构建,我们之后的内容将集中在操作系统本身提供了哪些库函数以及基于FreeRTOS的程序编写上来.


参考(参考中使用的是NMake并且是Windows平台下,与本方法有区别)

https://www.youtube.com/watch?v=jCZxStjzGA8&list=PLEB5F4gTNK68IlRIJtcJ_2cW4dSdmreTw&index=14

特别鸣谢!

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:35:05  更:2022-10-22 21:37:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:27:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码