
EmBlocks EmBitz
文章平均质量分 79
daxiebao
这个作者很懒,什么都没留下…
展开
-
mbed使用EmBitz 提示warning: .objs\main.o: linker input file unused because linking not done
使用mbed在线IDE 导出EmBitz工程。编译错误:||warning: .objs\main.o: linker input file unused because linking not done|||warning: mbed\target_nucleo_f103rb\toolchain_gcc_arm\cmsis_nvic.o: linker input file unused原创 2016-08-24 16:52:18 · 1845 阅读 · 0 评论 -
使用EmBitz编译mbed提示mbed_wait_api.c:(.text.wait+0x0): multiple definition of `wait'
使用EmBitz编译mbed提示mbed_wait_api.c:(.text.wait+0x0): multiple definition of `wait'提示重复定义 wait函数 第一次定义在libc.a中的syswait.c。在mbed库libmbed.a 中mbed_wait_api.c中也有定义,所以要调整Linker flash 的顺序。把-lmbed 放在-lc 后面。原创 2016-08-24 17:25:18 · 1130 阅读 · 0 评论 -
使用EmBitz 编译mbed提示required from 'void WIZnet_Chip::reg_wr(uint16_t, T) [with T = short unsigned int;
使用EmBitz 编译mbed提示.\W5500Interface\WIZnet\W5500.h|321| required from 'void WIZnet_Chip::reg_wr(uint16_t, T) [with T = short unsigned int; uint16_t = short unsigned int]' template void reg原创 2016-08-24 17:37:10 · 1138 阅读 · 0 评论 -
Embitz 使用ARM GCC Compiler(generic) 兼容性问题<signal handler called>
ARM GCC Compiler(generic) 编译程序运行 validate_structure 异常 ,跳到 WWDG_IRQHandler。查看map文件发现 .text.validate_structure 0x08004a70 0x2a4 D:\gcc-arm-none-eabi-4_9\bin\..\arm-none-eabi\li原创 2016-09-23 15:51:59 · 3960 阅读 · 2 评论 -
stm32 基于ARM GCC Compliler(EmBitz IDE) print重定向到串口打印输出 com serial
print重定向到串口打印输出 com serial,使用的方法是重新实现函数 int _write (int fd, char *pBuffer, int size) 覆盖原来的_write 函数。在使用 arm gcc 编译链接的过程可能会出现错误undefined reference to `_sbrk' `_close' `_fstat' `_read' `_write'原创 2016-09-24 17:10:46 · 9668 阅读 · 4 评论 -
ARM GCC 链接错误 引用未定义函数 _read _write _sbrk 解决和重定向
使用 printf ,scanf ,malloc 等函数需要实现`_read'`_lseek'`_isatty'`_fstat'`_write'`_sbrk' 函数。stm32 使用stdlib 时候编译提示错误:d:/gcc-arm-none-eabi-4_9/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib原创 2016-09-24 21:35:50 · 20755 阅读 · 6 评论 -
在 mbed平台使用 airkiss_cloudapi sdk 过程中碰到问题解决方法
在 mbed平台使用 airkiss_cloudapi 过程中碰到不少问题。问题的根源在于mbed大部分驱动是用c++实现的。c++(在mian.cpp中) 调用 c静态库 libwxcloud.a 中的函数(airkiss_cloud_loop()),反过来 c静态库 libwxcloud.a 引用c 函数(airkiss_porting.cpp中的ak_socket airkiss_tcp原创 2016-09-21 22:57:51 · 2004 阅读 · 1 评论 -
stm32 使用arm gcc 实现malloc 和 free
对于 stm32c8t6 来说 rom 是64k ram 是 20k。使用静态库的libnosys.a 实现的_sbrk 函数 是可以使用malloc 和free的。但是有个问题就是没有边界检查。ram 的范围是0x20000000-0x20005000,申请的内存会超过 0x20005000。这样就好引发HardFault_Handler 异常。可以这样重定向_sbrk 函数。堆增长的时原创 2016-09-26 23:16:37 · 3629 阅读 · 0 评论 -
stm32 使用malloc申请内存和free释放内存造成的内存碎片测试
本例中使用stm32c8t6 mdk3.5 和 gcc-arm-none-eabi-4_9。使用EmBitz IDE ARM GCC Compiler。单片机是不建议使用 内存管理函数,但是在物联网应用当中,内存资源很是宝贵,MQTT 协议需要SSL TLS,数据签名 MD5,RSA等等 使用很是耗费内存资源,使用内存管理函数就显得很有必要了。经过测试不断的malloc和free原创 2016-09-26 23:36:45 · 16614 阅读 · 1 评论