国产芯片--芯旺微--KungFu--ChipOn-(KF8系列)项目开发过程中问题及解决

本文主要是介绍国产芯片--芯旺微--KungFu--ChipOn-(KF8系列)项目开发过程中问题及解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

1.如果报错__hmuchar,一般都是由于中断里面检测到了乘法导致的;或者函数嵌套次数太多;我目前的例程里的原因定位是——中断里调用了结构体数组,会调用隐性的乘除法。在这里插入图片描述
对于KF8,中断与APP中禁止时钟相同的函数,避免函数重入。如果你确保应用没有问题,可以在优化等级后加入-z消除此错误;如下图所示:
在这里插入图片描述
这么加了-z后,error会变成警告,代码可以编译通过。
在这里插入图片描述

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。

3.LIN端口配置
TX需要配置成输出口,RX口是输入口。

4.全局的指针变量,声明时候不能直接赋值,必须去函数里面给她赋值声明地址。。。

5.关于debug:
首先工程要是debug模式,保证工程可以编译通过后,然后选中某个函数右键

在这里插入图片描述

请注意此时产品不能供电,由于会有电源冲突,开启debug编译器时,芯片已经工作;
先不接电源,进入debug之后,再外部供电!!
debug模式下,晶振不能超过16M。

6.产品烧录
首先烧录也是要给产品断电的!
debug模式生成的hex不能直接用脱机烧录给板子,功能是异常的。
需要用release模式下生成的hex烧录给板子,烧录完成后,然后给产品上电,这样才是真正烧录了自己想要的功能

7.中断的代码保护
在这里插入图片描述

可以根据提示,在Release文件夹下找到manual_STK_protect.txt
将D:\ChipONCC\examples 文件夹下面的两个文件拷到工程下面,根据提示增减数组个数。例如我上面是提醒SK02,那就要定义到3个。

然后将
H_ISR_PUSH_STK();
H_ISR_POP_STK();
加到中断函数的代码开始和结束。

8.休眠唤醒:调用_IDLE()即可进入休眠;
LIN项目,可以用WUEN来作为唤醒源,睡眠前注意把不用的外设关闭即可,唤醒后恢复/重新初始化即可

9.电源电压过低,在大约5.2V时,如果LIN总线没有空闲,但是RX电平一直是低,这时候芯片进入休眠后,将无法再唤醒,原因待查。

这篇关于国产芯片--芯旺微--KungFu--ChipOn-(KF8系列)项目开发过程中问题及解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/322981

相关文章

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】