移植某开源代码到嵌入式板子上的一点经验

在嵌入式开发中,常遇到编译时libc兼容性问题,如需自定义文件系统函数。此外,代码过大可能导致超过存储限制,需要裁剪或增加ROM/RAM,并调整内存映射。内存泄漏检测在板上困难,可能借助x86平台的工具如asan来辅助调试。
摘要由CSDN通过智能技术生成

1. 代码编译问题

先要把代码拷贝到板子上的项目里一块进行编译,往往遇到编译或者链接不过

很常见的是,libc不兼容

比如板子上都没有文件系统, 所有的文件系统相关函数都要重新实现,最开始是注释掉所有带open,close, read, write, fputc, fgetc, print, lstat, fstat等函数

还有assert.h也没有, 需要把相关的assert函数注释掉

还有abort, kill, exit, getpid等函数

还有函数重复定义, 有的需要去掉相同部分的或者重命名的函数

2. 代码size太大,超过了ROM或者RAM size 

需要裁剪代码, 或者增大ROM/RAM(同时要修改memory map)

3. 内存泄漏问题

在板子调试这个问题好麻烦, 光看日志或者只看代码很难解决,就看有没有好工具。 或者到x86用asan或其他工具调试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值