目前经常用到的系统还是Windows,开发一些嵌入式芯片还需要用linux,每次打开虚拟机都要卡好一阵子(原谅我的渣渣开发机)。之前了解到提供编译工具链的组织linaro(官网www.linaro.org)有windows下开发的编译工具。所以果断想着把一套开发的环境整到windows上来,所以下载工具链和查找对应工具开整。
需要准备的软件包:
1.交叉编译工具链gcc-linaro-5.3.1-2016.05-i686-mingw32_arm-eabi.rar(官网下载)
2.M-win32 用于在windows上支持make和makefile需要用到的一系列linux下的命令令,像rm cp 等(坑网下载M-win32.rar)
3.python-2.7.10 Python 2.7 windows下的安装包,rtthread系统的构建工具scons需要Python的支持(坑网下载python-2_7_10.rar)
4.scons-3.1.1 rtthread实时操作系统的代码构建工具scons 的安装包(坑网下载scons-3_1_1.rar)
5.Visual Studio Code 微软开源的代码查看编辑工具简称VS Code,支持非常多的插件,支持跨平台(官网下载)
把交叉编译工具链gcc-linaro-5.3.1-2016.05-i686-mingw32_arm-eabi.rar解压到电脑的目录下,例如“E:\ gcc-linaro-5.3.1-2016.05-i686-mingw32_arm-eabi”路径下。
双击安装python-2.7.10.msi,把python2.7安装到系统的默认目录” C:\Python27”下。并且把“C:\Python27”路径和“C:\Python27\Scripts\”路径加入到系统的环境变量path下面。Windows 更新系统环境变量需要重启电脑。能在cmd 中输入python运行能进入python环境就算python安装成功,并且环境变量添加正确。
解压scons-3.1.1.rar到C:\scons-3.1.1目录下,接下来有两种方法安装scons。一个是,按下快捷键微标Win+R弹出运行,输入cmd点确定打开windows的命令行,输入cd C:\scons-3.1.1命令进入到scons的安装目录下,最后输入python setup.py install 命令进行scons的安装。另外一种方法是,在C:\scons-3.1.1目录下创建一个文本文件,输入内容python setup.py install 另存为install.bat文件。然后双击install.bat,即可完成scons的安装,安装完毕后,会在“C:\Python27\Scripts\”目录下产生几个scons命名的脚本文件。
根据网上教程安装VS Code到windows上。然后打开VS Code
点击插件图标,搜索并安装插件C/C++ 0.28.3 和 C++ Intellisence 0.2.2.如下图所示
点击菜单栏File-OpenFolder,在弹出的窗口中选中BoloRTT工程代码目录,点选择文件夹。此时已经把工程代码添加到VS Code中了,如下图所示
点击打开工程目录下bsp\f1c\rtconfig.py文件。把编译工具链的路径改成第一步解压工具链的路径。注意此处只要在路径后添加\bin即可,编译的前缀“arm-eabi-”在文件的PREFIX 项中写了。
例如 EXEC_PATH = r'E:\toolchain\gcc-linaro-5.3.1-2016.05-i686-mingw32_arm-eabi\bin' (r代表字符串不进行转义操作)
在已经解压好的BoloRTT工程代码目录下建立一个名字为“.vscode”文件夹,然后里面添加一个命名为”tasks,json”文件,文件内容如下
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: arm-eabi-gcc build active file",
"command": "scons",
"args": [
"-j8",
],
"options": {
"cwd": "${workspaceFolder}\\bsp\\f1c",
},
"problemMatcher": {
"fileLocation": ["relative", "${workspaceFolder}\\bsp\\f1c\\"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"group": {
"kind": "build",
"isDefault": true
}
},
{
"type": "shell",
"label": "sunxi-fel download bin file",
"command": "${workspaceFolder}\\bsp\\f1c\\tools\\sunxi-fel.exe",
"args": [
"-p",
"spiflash-write",
"0x0000",
"rtthread.bin",
],
"options": {
"cwd": "${workspaceFolder}\\bsp\\f1c",
},
"group": {
"kind": "test",
"isDefault": true
}
}
]
}
简单解释一下
tasks.json文件主要是用于创建一个任务,任务内容为编译工程。其中文件内容中的"type": "shell",表明任务需要调用命令行
"command": "scons",代表的是调用命令行后运行的命令为scons,此处直接写scons是因为前面第二步中已经把scons脚本所在的python脚目录加入了环境变量。
"args": ["-j8",],表示的是命令后面带的参数为 -j8 。连起来就是linux 下 scons -j8的意思。是为了能够调用多核cpu进行编译。
"options"选项里的cwd选项则是标记着命令行从工程的那个目录开始运行,我们都是在工程目录下的bsp\f1c的文件夹里面运行scons的,所以这里写"${workspaceFolder}\\bsp\\f1c "即可。
"problemMatcher"选项则是为了把编译过程中命令行输出的结果解析然后把warning和error添加到VS Code的PROBLEMS选项卡中,方便查看编译出错的原因。
第一个任务是系统默认任务用于编译,后面一个任务是用于烧录
直接按快捷键Ctrl+Shift+B进行默认任务-编译,或者可以点击菜单栏的Terminal-Run Build Task,在VSCode的中间位置会出现一个选框,要求选择需要运行的task。
以上即完成了F1C100s在Windows下用VS Code开发的环境搭建,好好体验在windows下开发的便捷吧
附上工程代码BoloRTT.rar
附上工程代码github连接https://github.com/VeiLiang/BoloRTT,后期会更新各种驱动,对你有帮助的话希望可以帮忙点个Start
注:jpeg解码为打包成静态库,默认解码会带whycan.com字样,仅供测试用。
感谢Rtthread团队,开发了一个特别好用的嵌入式实时系统。
感谢ntmusic网友,本BoloRTT基于工程基于RTThread的F1C100s开发(带boot启动+硬件多图层+硬件游标+LVGL+SDIO)的基础上修改和增加代码
感谢晕哥提供的交流平台
如果本项目对您有帮助欢迎点击www.bolopi.com进行打赏
离线
终于码完了,睡觉去
离线
强强强,必须找时间学习一下
离线
感谢分享虽然用不上,因为有阿里云,需要linux的地方全在云上搞定了
离线
666,感谢分享!
离线
感谢分享,有机会试试了
离线
顶老大,老大666
离线
流B,感动
离线
学习了 keil软件是该改进改进了
离线
大佬,问一下,提示如下内容
C:\BoloRTT>scons -j4
scons: *** No SConstruct file found.
File "C:\Python27\scons\SCons\Script\Main.py", line 933, in _main
需要怎么解决?
离线
太感谢楼主了
离线
大佬,问一下,提示如下内容
C:\BoloRTT>scons -j4scons: *** No SConstruct file found.
File "C:\Python27\scons\SCons\Script\Main.py", line 933, in _main需要怎么解决?
应该在bsp/f1c下运行
离线
厉害厉害
离线
这个好 有插件能做单步调试吗 还有用python3可以不
离线
大佬,问一下,提示如下内容
C:\BoloRTT>scons -j4scons: *** No SConstruct file found.
File "C:\Python27\scons\SCons\Script\Main.py", line 933, in _main需要怎么解决?
看看是不是下面选项设置不对
"options": {
"cwd": "${workspaceFolder}\\bsp\\f1c",
},
离线
这个好 有插件能做单步调试吗 还有用python3可以不
目前没有,理论上可以利用jlink建立gdb服务器,然后vscode 进行调试
离线
不能单步调试 意义不大啊
就代码编辑来说用SI不更香吗? 编译什么的一个批处理搞定
离线
v_8787 说:大佬,问一下,提示如下内容
C:\BoloRTT>scons -j4scons: *** No SConstruct file found.
File "C:\Python27\scons\SCons\Script\Main.py", line 933, in _main需要怎么解决?
看看是不是下面选项设置不对
"options": {
"cwd": "${workspaceFolder}\\bsp\\f1c",
},
现在的提示变成了
C:\BoloRTT\BoloRTT\bsp\f1c>scons -j4
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: warning: you do not seem to have the pywin32 extensions installed;
parallel (-j) builds may not work reliably with open Python files.
File "C:\Python27\Scripts\scons.py", line 204, in <module>
scons: Building targets ...
scons: building associated VariantDir targets: build
CC build\applications\Apps\demo.o
CC build\applications\Apps\UartCursor.o
CC build\applications\main.o
scons: *** [build\applications\Apps\demo.o] Error -1073741515
CsC build\bootloader\exception.o
cons: *** [build\applications\Apps\UartCursor.o] Error -1073741515
scons: *** [build\applications\main.o] Error -1073741515
scons: *** [build\bootloader\exception.o] Error -1073741515
scons: building terminated because of errors.
C:\BoloRTT\BoloRTT\bsp\f1c>
麻烦大佬再看看怎么回事,谢谢
离线
v_8787 说:大佬,问一下,提示如下内容
C:\BoloRTT>scons -j4scons: *** No SConstruct file found.
File "C:\Python27\scons\SCons\Script\Main.py", line 933, in _main需要怎么解决?
应该在bsp/f1c下运行
多谢回复
离线
注:jpeg解码为打包成静态库,默认解码会带whycan.com字样,仅供测试用。
编码库好整不 一直想用f1c做摄像头
离线
遇到了同样的问题,请问你是怎么解决的?
微凉VeiLiang 说:v_8787 说:大佬,问一下,提示如下内容
C:\BoloRTT>scons -j4scons: *** No SConstruct file found.
File "C:\Python27\scons\SCons\Script\Main.py", line 933, in _main需要怎么解决?
看看是不是下面选项设置不对
"options": {
"cwd": "${workspaceFolder}\\bsp\\f1c",
},现在的提示变成了
C:\BoloRTT\BoloRTT\bsp\f1c>scons -j4
scons: Reading SConscript files ...
scons: done reading SConscript files.scons: warning: you do not seem to have the pywin32 extensions installed;
parallel (-j) builds may not work reliably with open Python files.
File "C:\Python27\Scripts\scons.py", line 204, in <module>
scons: Building targets ...
scons: building associated VariantDir targets: build
CC build\applications\Apps\demo.o
CC build\applications\Apps\UartCursor.o
CC build\applications\main.o
scons: *** [build\applications\Apps\demo.o] Error -1073741515
CsC build\bootloader\exception.o
cons: *** [build\applications\Apps\UartCursor.o] Error -1073741515
scons: *** [build\applications\main.o] Error -1073741515
scons: *** [build\bootloader\exception.o] Error -1073741515
scons: building terminated because of errors.C:\BoloRTT\BoloRTT\bsp\f1c>
麻烦大佬再看看怎么回事,谢谢
离线
微凉VeiLiang 说:v_8787 说:大佬,问一下,提示如下内容
C:\BoloRTT>scons -j4scons: *** No SConstruct file found.
File "C:\Python27\scons\SCons\Script\Main.py", line 933, in _main需要怎么解决?
看看是不是下面选项设置不对
"options": {
"cwd": "${workspaceFolder}\\bsp\\f1c",
},现在的提示变成了
C:\BoloRTT\BoloRTT\bsp\f1c>scons -j4
scons: Reading SConscript files ...
scons: done reading SConscript files.scons: warning: you do not seem to have the pywin32 extensions installed;
parallel (-j) builds may not work reliably with open Python files.
File "C:\Python27\Scripts\scons.py", line 204, in <module>
scons: Building targets ...
scons: building associated VariantDir targets: build
CC build\applications\Apps\demo.o
CC build\applications\Apps\UartCursor.o
CC build\applications\main.o
scons: *** [build\applications\Apps\demo.o] Error -1073741515
CsC build\bootloader\exception.o
cons: *** [build\applications\Apps\UartCursor.o] Error -1073741515
scons: *** [build\applications\main.o] Error -1073741515
scons: *** [build\bootloader\exception.o] Error -1073741515
scons: building terminated because of errors.C:\BoloRTT\BoloRTT\bsp\f1c>
麻烦大佬再看看怎么回事,谢谢
感觉上像是编译器路径没有设置好,看看bsp\f1c\rtconfig.py文件设置编译器设置好了没
离线
遇到了同样的问题,请问你是怎么解决的?
v_8787 说:微凉VeiLiang 说:看看是不是下面选项设置不对
"options": {
"cwd": "${workspaceFolder}\\bsp\\f1c",
},现在的提示变成了
C:\BoloRTT\BoloRTT\bsp\f1c>scons -j4
scons: Reading SConscript files ...
scons: done reading SConscript files.scons: warning: you do not seem to have the pywin32 extensions installed;
parallel (-j) builds may not work reliably with open Python files.
File "C:\Python27\Scripts\scons.py", line 204, in <module>
scons: Building targets ...
scons: building associated VariantDir targets: build
CC build\applications\Apps\demo.o
CC build\applications\Apps\UartCursor.o
CC build\applications\main.o
scons: *** [build\applications\Apps\demo.o] Error -1073741515
CsC build\bootloader\exception.o
cons: *** [build\applications\Apps\UartCursor.o] Error -1073741515
scons: *** [build\applications\main.o] Error -1073741515
scons: *** [build\bootloader\exception.o] Error -1073741515
scons: building terminated because of errors.C:\BoloRTT\BoloRTT\bsp\f1c>
麻烦大佬再看看怎么回事,谢谢
感觉上像是编译器路径没有设置好,看看bsp\f1c\rtconfig.py文件设置编译器设置好了没。或者说是你设置的编译器gcc.exe运行依赖东西没有
离线
v_8787 说:微凉VeiLiang 说:看看是不是下面选项设置不对
"options": {
"cwd": "${workspaceFolder}\\bsp\\f1c",
},现在的提示变成了
C:\BoloRTT\BoloRTT\bsp\f1c>scons -j4
scons: Reading SConscript files ...
scons: done reading SConscript files.scons: warning: you do not seem to have the pywin32 extensions installed;
parallel (-j) builds may not work reliably with open Python files.
File "C:\Python27\Scripts\scons.py", line 204, in <module>
scons: Building targets ...
scons: building associated VariantDir targets: build
CC build\applications\Apps\demo.o
CC build\applications\Apps\UartCursor.o
CC build\applications\main.o
scons: *** [build\applications\Apps\demo.o] Error -1073741515
CsC build\bootloader\exception.o
cons: *** [build\applications\Apps\UartCursor.o] Error -1073741515
scons: *** [build\applications\main.o] Error -1073741515
scons: *** [build\bootloader\exception.o] Error -1073741515
scons: building terminated because of errors.C:\BoloRTT\BoloRTT\bsp\f1c>
麻烦大佬再看看怎么回事,谢谢
感觉上像是编译器路径没有设置好,看看bsp\f1c\rtconfig.py文件设置编译器设置好了没
当Windows试图加载它无法识别为DLL库或者运行不能够正常识别的可执行程序时,会发生此-1073741515错误,
离线
谢谢 微凉VeiLiang
跟据你的提示,把 M-win32.rar中的libwinpthread-1.dll放到winodws目录内就好了:)
离线
谢谢 微凉VeiLiang
跟据你的提示,把 M-win32.rar中的libwinpthread-1.dll放到winodws目录内就好了:)
嗯嗯,这个其实在cmd里面运行scons应该会弹窗提示缺少libwinpthread-1.dll。但是不知道为什么你的已经在M-win32目录下还会提示错误
离线
大佬,编译成功,烧写后,重新上电显示屏显示有内容,串口怎么没有信息输出?
离线
串口没有输出是因为宏RT_CONSOLE_DEVICE_NAME “uart”少写了0,改为uart0编译烧写运行出错
\ | /
- RT - Thread Operating System
/ | \ 3.1.0 build Feb 22 2022
2006 - 2018 Copyright by rt-thread team
[SFUD] Warning: The OS tick(100) is less than 1000. So the flash write will take more time.
[SFUD] gd25qxx flash device is initialize success.
dfs_mount romfs
dfs_mount romfs failed -19
Start...
periph_get_pll_clk:600000000
cpu_get_clk:600000000
ahb_get_clk:200000000
apb_get_clk:100000000
heap start:0x807df658
heap stop : 0x81800000
ve_intr_ctrl_reg:0x01c0e114->0x0
After ve_intr_ctrl_reg:0x01c0e114->0x78
Execption:
r00:0xa00000d3 r01:0xa00000d3 r02:0xffcc7fda r03:0x3fea1ff0
r04:0x807df6b0 r05:0x807df6c4 r06:0x20000013 r07:0x0007f7fc
r08:0xdeadbeef r09:0xdeadbeef r10:0xdeadbeef
fp :0x807dfe84 ip :0x8005379c
sp :0x80000694 lr :0x80040154 pc :0x80040154
离线
使用boloRTT中的工程代码,想测试下F1C100S 的USB host,编译烧写至SPIFLASH运行时,USB产生不了中断,烧写至内部ram运行时,却一直有中断触发,一直打印irq: usb_irq=08, tx_irq=00, rx_irq=00, dma_irq:0是什么原因
离线
使用boloRTT中的工程代码,想测试下F1C100S 的USB host,编译烧写至SPIFLASH运行时,USB产生不了中断,烧写至内部ram运行时,却一直有中断触发,一直打印irq: usb_irq=08, tx_irq=00, rx_irq=00, dma_irq:0是什么原因
应该是驱动还没有好
全志的musb的usb部分中断清除标志位要通过再写入来清除
离线
感谢大师的帖子,我也试试。原因是我最近用了VS Code后发现真的非常好,查写代码比RT-Thread Studio好用,但是现有的RTT的VS Code插件在编译的时候总是有问题没法正常编译。
离线
我的win10好像用不了。
离线
https://www.jianshu.com/p/fd0103d59d8e
为什么这里说arm-eabi-gcc 是 Android ARM 编译器。
新版是否应该用 gcc-arm-none-eabi-
离线
添加了GCC 为什么还是提示错误
EXEC_PATH = r'F:\Tool\gcc-linaro-5.3.1-2016.05-i686-mingw32_arm-eabi\bin'
离线
想找找有没有 MacOS M1 电脑的教程,不想浪费电脑
离线
占个位,抽时间按照你的教程做一遍。享受一下windows的便捷。
离线
厉害 感谢分享,可以在windows上编译就太方便了 不用在去开启虚拟机了电脑硬盘真不够用
离线