您尚未登录。

楼主 #1 2020-12-28 02:09:43

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 595
积分: 525
个人网站

打造F1C100s在Windows下用VS Code开发的环境(支持编译,下载,附JPEG解码库和各种驱动Rtthread工程)

前言

目前经常用到的系统还是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.如下图所示
c++kuozhan.png

第六步

点击菜单栏File-OpenFolder,在弹出的窗口中选中BoloRTT工程代码目录,点选择文件夹。此时已经把工程代码添加到VS Code中了,如下图所示
vscode_1.png

第七步

点击打开工程目录下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进行打赏

离线

楼主 #2 2020-12-28 02:10:14

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 595
积分: 525
个人网站

Re: 打造F1C100s在Windows下用VS Code开发的环境(支持编译,下载,附JPEG解码库和各种驱动Rtthread工程)

终于码完了,睡觉去

离线

楼主 #15 2020-12-29 20:56:35

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 595
积分: 525
个人网站

Re: 打造F1C100s在Windows下用VS Code开发的环境(支持编译,下载,附JPEG解码库和各种驱动Rtthread工程)

v_8787 说:

大佬,问一下,提示如下内容
C:\BoloRTT>scons -j4

scons: *** No SConstruct file found.
File "C:\Python27\scons\SCons\Script\Main.py", line 933, in _main

需要怎么解决?

看看是不是下面选项设置不对
"options": {
                "cwd": "${workspaceFolder}\\bsp\\f1c",
            },

离线

楼主 #16 2020-12-29 20:57:17

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 595
积分: 525
个人网站

Re: 打造F1C100s在Windows下用VS Code开发的环境(支持编译,下载,附JPEG解码库和各种驱动Rtthread工程)

david 说:

这个好 有插件能做单步调试吗 还有用python3可以不

目前没有,理论上可以利用jlink建立gdb服务器,然后vscode 进行调试

离线

楼主 #22 2021-01-01 21:13:13

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 595
积分: 525
个人网站

Re: 打造F1C100s在Windows下用VS Code开发的环境(支持编译,下载,附JPEG解码库和各种驱动Rtthread工程)

v_8787 说:
微凉VeiLiang 说:
v_8787 说:

大佬,问一下,提示如下内容
C:\BoloRTT>scons -j4

scons: *** 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文件设置编译器设置好了没

离线

楼主 #23 2021-01-01 21:14:09

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 595
积分: 525
个人网站

Re: 打造F1C100s在Windows下用VS Code开发的环境(支持编译,下载,附JPEG解码库和各种驱动Rtthread工程)

zzjimo 说:

遇到了同样的问题,请问你是怎么解决的?

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运行依赖东西没有

离线

楼主 #24 2021-01-01 21:17:18

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 595
积分: 525
个人网站

Re: 打造F1C100s在Windows下用VS Code开发的环境(支持编译,下载,附JPEG解码库和各种驱动Rtthread工程)

微凉VeiLiang 说:
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错误,

离线

楼主 #26 2021-01-02 13:36:47

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 595
积分: 525
个人网站

Re: 打造F1C100s在Windows下用VS Code开发的环境(支持编译,下载,附JPEG解码库和各种驱动Rtthread工程)

zzjimo 说:

谢谢 微凉VeiLiang
跟据你的提示,把 M-win32.rar中的libwinpthread-1.dll放到winodws目录内就好了:)

嗯嗯,这个其实在cmd里面运行scons应该会弹窗提示缺少libwinpthread-1.dll。但是不知道为什么你的已经在M-win32目录下还会提示错误

离线

楼主 #31 2022-03-14 21:12:39

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 595
积分: 525
个人网站

Re: 打造F1C100s在Windows下用VS Code开发的环境(支持编译,下载,附JPEG解码库和各种驱动Rtthread工程)

sugar 说:

使用boloRTT中的工程代码,想测试下F1C100S 的USB host,编译烧写至SPIFLASH运行时,USB产生不了中断,烧写至内部ram运行时,却一直有中断触发,一直打印irq: usb_irq=08, tx_irq=00, rx_irq=00, dma_irq:0是什么原因

应该是驱动还没有好
全志的musb的usb部分中断清除标志位要通过再写入来清除

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn