请问全志XR806芯片 XR MCU的外设驱动为什么修改无效?
本回答来源全志XR806芯片 XR MCU的外设驱动为什么修改无效?
答案可参考如下情况
1.问题背景
为了节省更多的flash空间,在xr872/xr808/xr806芯片上把大部分的驱动都已经做了rom化处理,即出厂的时候已经把外设驱动都集成到rom当中,因此默认sdk中驱动的代码是不能修改的。而客户有时候调试需要在驱动层添加一些打印信息或者修改外设驱动的配置,此时则需要舍弃rom化的驱动,自己在源代码上添加相应的驱动了。
2.问题描述
XR MCU的外设驱动为什么修改无效。
3.解决办法
先舍弃rom化驱动的代码:在lib\xradio_v2目录下的rom_symbol.ld文件,删除所要修改的模块的驱动相关的函数。注,xr806的rom_symbol.ld文件在lib\xradio_v3文件夹。
在src\driver\chip这个目录相应的外设模组上的源代码文件填上所需的函数,一般情况下把src\rom\rom_bin\src\driver\chip相关模组的函数移植过去即可,因为该目录下的驱动只提供客户查看,并没有编译到sdk镜像里面,真正编译到镜像的是src\driver\chip里面的函数。