[开发工具] KungFu--ChipOn-(KF8系列)项目开发过程中问题及解决

[复制链接]
 楼主| 发表于 2021-10-28 14:36 | 显示全部楼层 |阅读模式

由于第一次使用KF8 IDE,问题比较多,目前是无序排列之前的问题点。

1.如果报错__hmuchar,一般都是由于中断里面检测到了乘法导致的;或者函数嵌套次数太多;我目前的例程里的原因定位是——中断里调用了结构体数组,会调用隐性的乘除法。

91736617a44e9adbbe.png


 楼主| 发表于 2021-10-28 14:39 | 显示全部楼层
对于KF8,中断与APP中禁止时钟相同的函数,避免函数重入。如果你确保应用没有问题,可以在优化等级后加入-z消除此错误;如下图所示:
42996617a44f9a72ec.png
 楼主| 发表于 2021-10-28 14:39 | 显示全部楼层
这么加了-z后,error会变成警告,代码可以编译通过。
13500617a459de9f69.png
 楼主| 发表于 2021-10-28 14:40 | 显示全部楼层
2.PWM注意点,软件和硬件都需要注意

每个pwm口都能做8bit PWM输出,8bit PWM就会有频率无法设置为高频低周期的情形,差不多最小就只能到2k多HZ;

如果需要配置16bit PWM,例如PWM13和PWM23就只能用PWM23输出了,PWM13就是普通输入输出口,即PWM1模块失效,PWM功能全部转移到PWM2端口上;

芯片KF8A100NG CLK口不能复用做16bit的PWM输出口,上电会有非预期的输出。虽然它是PWM20口。没试过把它作为8bit的PWM。
 楼主| 发表于 2021-10-28 14:41 | 显示全部楼层
3.LIN端口配置
TX需要配置成输出口,RX口是输入口。
 楼主| 发表于 2021-10-28 14:41 | 显示全部楼层
4.全局的指针变量,声明时候不能直接赋值,必须去函数里面给她赋值声明地址。。。
 楼主| 发表于 2021-10-28 14:43 | 显示全部楼层
5.关于debug:
首先工程要是debug模式,保证工程可以编译通过后,然后选中某个函数右键
 楼主| 发表于 2021-10-28 14:43 | 显示全部楼层
 楼主| 发表于 2021-10-28 14:44 | 显示全部楼层
请注意此时产品不能供电,由于会有电源冲突,开启debug编译器时,芯片已经工作;
先不接电源,进入debug之后,再外部供电!!
debug模式下,晶振不能超过16M。
 楼主| 发表于 2021-10-28 14:46 | 显示全部楼层
6.产品烧录
首先烧录也是要给产品断电的!
debug模式生成的hex不能直接用脱机烧录给板子,功能是异常的。
需要用release模式下生成的hex烧录给板子,烧录完成后,然后给产品上电,这样才是真正烧录了自己想要的功能
 楼主| 发表于 2021-10-28 14:46 | 显示全部楼层
7.中断的代码保护
63356617a474602f3b.png
 楼主| 发表于 2021-10-28 14:47 | 显示全部楼层
可以根据提示,在Release文件夹下找到manual_STK_protect.txt
将D:\ChipONCC\examples 文件夹下面的两个文件拷到工程下面,根据提示增减数组个数。例如我上面是提醒SK02,那就要定义到3个。
 楼主| 发表于 2021-10-28 14:47 | 显示全部楼层
然后将
H_ISR_PUSH_STK();
H_ISR_POP_STK();
加到中断函数的代码开始和结束。
 楼主| 发表于 2021-10-28 14:48 | 显示全部楼层
8.休眠唤醒:调用_IDLE()即可进入休眠;
LIN项目,可以用WUEN来作为唤醒源,睡眠前注意把不用的外设关闭即可,唤醒后恢复/重新初始化即可
 楼主| 发表于 2021-10-28 14:49 | 显示全部楼层
9.电源电压过低,在大约5.2V时,如果LIN总线没有空闲,但是RX电平一直是低,这时候芯片进入休眠后,将无法再唤醒,原因待查。
 楼主| 发表于 2021-10-28 14:50 | 显示全部楼层
欢迎留言讨论
 楼主| 发表于 2021-10-28 14:51 | 显示全部楼层
 楼主| 发表于 2021-10-28 14:51 | 显示全部楼层
休眠期无法再唤醒
 楼主| 发表于 2021-10-28 14:53 | 显示全部楼层
找不到原因
发表于 2021-10-31 19:56 | 显示全部楼层
8.休眠唤醒:调用_IDLE()即可进入休眠;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

1251

帖子

0

粉丝
快速回复 返回顶部 返回列表