3 Star 5 Fork 9

无声物联 / RTL8710AF_GCC

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

RTL8710AF_GCC

WiFi芯片RTL8710AF的GCC版SDK,采用C#脚本进行编译

目标

使用XScript支持的C#脚本编译RTL8710AF的SDK,自动部署必要的arm-none-eabi-gcc,不需要Cynwin等make环境。
把SDK编译为静态库,供其它应用项目使用。

路线计划

1,拿到最新SDK v3.5a,安装最新arm-none-eabi-gcc和Cynwin,make编译通过
2,简化makefile,去掉不必要的文件和编译选项
3,参考make编译日志,编写C#版编译脚本,解除对Cynwin的依赖
4,通过脚本实现模块化编译SDK,用户可简单选择自己需要的功能

GCC链接静态库顺序

GCC链接时对象文件和库文件的顺序需要非常小心。
扫描分析对象文件时,同时完善导入导出表
扫描分析静态库时,仅完善导入表配对以及必要导出,库里其它对象不做导出
所以,对象文件任意更换顺序,也可以链接成功。而静态库不能为右边的静态库或对象文件提供导出配对。

1,main.o + Lib/.o + ram_1.r.o + Lib/.a
链接正确。分析静态库时第一个是lib_platform.a(startup.o)
对象文件缺少的引用,右边的*.a会补上
lib_platform.a(app_start.o) 需要链接 main 函数
2,main.o + ram_1.r.o + lib_RTL8710.a + Lib/.a
链接少东西。分析静态库时第一个是lib_platform.a(hal_crypto.o),然后开始分析lib_RTL8710.a
main.o 缺少的引用,右边lib_RTL8710.a + Lib/
.a都会补上。
但是lib_RTL8710.a与lib_platform.a相互依赖,导致大量符号无法链接。

Repository Comments ( 0 )

Sign in to post a comment

About

WiFi芯片RTL8710AF的GCC版SDK,采用C#脚本进行编译 expand collapse
C++
GPL-3.0
Cancel

Releases

No release

RTL8710AF_GCC

Contributors

All

Activities

Load More
can not load any more
C++
1
https://toscode.gitee.com/wslink/RTL8710AF_GCC.git
git@toscode.gitee.com:wslink/RTL8710AF_GCC.git
wslink
RTL8710AF_GCC
RTL8710AF_GCC
Mini

Search

101014 b92fc32e 1850385 101014 af024cb7 1850385