芯旺微芯片底层替换个人心得

一、芯片替换相关

对应的芯片链接文件替换为芯片的同型号链接文件,项目属性中更换好芯片型号,并在链接文件脚本命令窗口中填写正确的LD路径:

1、右键项目文件夹选择属性

2、选择芯片的脚本文件,也就是我们对应芯片信号的链接文件

3、选择对应的型号工具,当然就是我们的芯片型号了

4、更换项目芯片型号

模式下载与配置里面,把这些选项先全部取消勾选,这时候系统下载代码时就是默认选项,方便我们调试,后期有需求再更换。

5、更改我们的链接文件

这里主要修改flash ram的起始地址(ORIGIN)以及长度大小(LENGTH),FLASH的起始地址最好设为0,因为此时没有BOOT的情况下,你设为其他值程序跑不起来的!而且注意FLASH和RAM的长度大小不要超过芯片的最大值!有的朋友会好奇为什么在图片里面会有f_app_info和wkpram这两个参数,这两个参数是博主设置好,用于项目存储一些信息用的。

关于具体怎么使用和修改链接文件,官方文档也有说明:

点击进入后打开ChipON KF32 Address Point By Linker Script_cnV1.3这个PDF即可

二、确认外部晶振频率(硬件原理图,或者引脚映射表)

在kf32a1x6_mcu_cfg.h文件中填写正确的主频及时钟源,这里相关配置也比较简单,应该是有芯片的宏定义去进行配置的;

三、在有FreeRTOS的情况下修改时钟

FreeRTOSConfig.h文件中将OS的频率设置为与SCLK相同(configCPU_CLOCK_HZ);

这里为什么要设置为系统时钟SCLK是因为这家的芯片好像默认都是系统时钟,而且为最高主频,不然可能会产生意料之外的BUG,建议听劝!!!

注意:在kf32a1x6_hli_port_cfg.h这个文件中,MASK_PORTH一定要修改好对应的配置,因为涉及到外部晶振的引脚,设置错了会导致一些功能跑不起来!!!这里这个掩码是设置PORTH端口的引脚掩码位的,这里对应位置1会导致对应端口的引脚不会被初始化,因此博主之前设的0x0B04会导致PH8、PH9不被初始化,这里项目中被复用为CAN模式了,没被初始化因此会导致CAN跑不起来,无法正常接收和发送消息!!!

四、调整CAN波特率和邮箱设置

1、CAN时钟和采样点配置

HLI库中将CAN模块的时钟源设为固定的72M(这里KF32A146KNP的系统时钟就是72M的最高频率,CAN采用的是系统时钟,且为最高频率),采样点的话需要在配置结构体里按照需求设置(HLI_Canfd6_BRP此结构体中的数值均需在设定值上+1才为真实值)所需值。

2、调整CAN邮箱的设置,此时CAN邮箱的个数是12个,按需分配。

五、唤醒设置

需要在HLI_Mcu_GotoMode函数前配置唤醒方式(如MCU_Wake_Config、Standby_WakeupPinConfig(括号里面的结构体不一定,根据项目需求来)),需要注意休眠前是否有地方清除了配置,如果清除了需要重新配置

六,端口配置、引脚配置

根据原理图,配置相应的端口引脚的复用功能,以防引脚设置错误导致功能不对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值