6621C/CB/P/D/F几款产品外设源码的替换

徽信管理团队 · 252次点击 · 2023-10-17

简介

我们每款芯片都有对应的库,其中的位置,主要是在工程中...lib\keil\路径下,比如,该路径下的f1文件夹就是对应我们的6621F系列芯片,该路径下的d1文件夹就是对应我们的6621D系列芯片。其他芯片也是类似的。

替换说明

在对应的芯片型号文件夹下,常用的外设库主要分布在两个文件内:

  1. xxx_rom_peripheral_xx.symdefs (xxx是芯片型号,比如hs6621f,后面的xx是该款芯片的第几版,比如a1,重点关注是以.symdefs后缀结尾即可)

  2. armlink6.via (有些主从一体的例程是对应armlink6_all.via,具体对应哪个自己可以通过keil魔术棒中查看)
    image.pnga1f176457f36ee5c9c4d60b0855a9826.png

在经过上面的解释之后,我们工程中使用源码之后,就知道怎么修改对应的库文件了。以6621F的uart.c这个源码为例:
3cf7c6a84a12b8aee1c0f5a74707d881.pngimage.png

那么我们就需要在库中把对应的uart.c相关的函数给注释掉,因为不注释掉的话,就会出现重定义的问题。我们在hs6621f_rom_peripheral_a1.symdefs文件内,能够找到对应的库函数。
image.png23c9a2d6fcf91a8ff47589d7feb694b4.png


注:如果使用的外设是在 armlink6.via文件内。我们需要操作的是添加或者删除对应的xxx.o文件(xxx是外设名)。
image.png

注意事项

  1. 我们更改完库之后,特别是修改armlink6.via里的文件,一定要重新切库操作。然后在keil中点击

    rebuild(重编译)

  2. 需要注意的是: pmu.c、calib.c、calib repair.c、cpm.c、pinmux.c、sf base.c 属于系统外设,关联较多,尽量不要使用源码并更改内容。

切库操作

切库的脚本主要是lib文件夹下的xxxxxxxx.bat脚本实现的,switch_to_om6621f_a1.bat就是对应6621F版本的芯片,switch_to_om6621d_a1.bat就是对应6621D版本的芯片。我们切库时,双击该脚本就可以了。


被收藏 0  ∙  0 赞  
加入收藏
点赞
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站