关注下micropython1.4.5的pendsv.C以及如何提高编译速度

micropython1.4.5用makefile编译通过,但是用编译1.4版本无法通过。

显示:

LINK build-PYBV10/firmware.elf
build-PYBV10/pendsv.o: In function `pendsv_object_ptr':
pendsv.c:(.text.pendsv_isr_handler+0xc): undefined reference to `pendsv_object'
Makefile:272: recipe for target 'build-PYBV10/firmware.elf' failed
mingw32-make: *** [build-PYBV10/firmware.elf] Error 1



于是把1.4版本的pendsv.C的

static void *pendsv_object; 改为void *pendsv_object;

就是说去掉了static就可以编译通过了。

显示:

LINK build-PYBV10/firmware.elf
   text    data     bss     dec     hex filename
 266308      96   28552  294956   4802c build-PYBV10/firmware.elf
Create build-PYBV10/firmware.dfu
Create build-PYBV10/firmware.hex


又试了下V1.3.2版本用static void *pendsv_object; 改为void *pendsv_object;也可以编译通过,用mingw32-make.EXE编译时间为2分22秒61。

编译主要是build-PYBV10这个文件里面多了很多.O文件等,我们知道.O文件是被gitignore的。

所以想多个对比编译时间速度的实验。就删除这个文件夹build-PYBV10,当然会多删除了.C文件不过不要紧  git reset到过去的版本就可以了。

用指令mingw32-make.exe  -J4     编译时间为1分21秒。

那么如何查找自己的电脑是几核的CPU呢?打开资源管理器,看性能里面的CPU有几个栏,就是几个核了。

好现在再用mingw32-make.EXE编译时间为2分41秒

好现在再用mingw32-make.EXE  -J4 编译时间为1分19秒。

所以多核指令是可以提高编译速度的


注意上面的正确写法是mingw32-make.exe  -j4   就是都是小写的。大写的可不可以没试验过。

又试了下V1.1版本用static void *pendsv_object; 改为void *pendsv_object;也可以编译通过

又试了下V1.0版本用static void *pendsv_object; 改为void *pendsv_object;也可以编译通过





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值