山外KEA编程下载助手是一款专业的编程辅助软件。能够为编程荣誉提供不少帮助的编程辅助软件山外KEA编程下载助手。库代码提供了越来越多的功能。新生是新来的图书馆,他们一定不熟悉图书馆。 KEA编程助手通过基于书签的方法快速读取例程,比较功能点,并极大地加快了学生的学习进度。并且在以后的开发中,忘记了函数的使用方法,也可以通过编程助手快速找到它; Shanwai Library MCU模块的每个模块的端口配置具有统一且固定的位置,这与K60,KEA不同。UART,SPI和I2C端口不能像K60那样任意匹配,但必须绑定到不同的方案。功能强大且实用,需要它的用户可以下载。
安装说明:
1.有需要的用户可以单击本网站提供的下载地址下载相应的程序数据包
2,解压后,可以打开应用程序数据包
3.双击应用程序以打开应用程序,然后进入程序的主界面
软件功能:
1.支持按键解锁功能。
飞思卡尔的芯片,下载错误的固件或超频过高,正在运行且运行异常,都容易发生锁定。按键解锁功能可以克服这一缺点。
2.支持串口下载,包括蓝牙串口无线下载
波特率为256000,仅需2.6秒即可下载18.4K固件。
自动识别波特率,支持256000、115200、57600、38400、9600,共有5种波特率方案。满足不同串行模块的高,中和低速要求。
3.集成了12号和16号英文字体,无需加载APP。
节省APP的音量。
4.集成了printf和sprintf功能,支持浮点打印!
IAR的内置函数具有错误和打印浮点异常。
5.具有NRF无线传输接口
可以使用K60 / K66无线调试器无线传输数据。 (蓝牙简单易用,但速度慢且数据丢失严重。NRF很快,但程序使用起来更复杂。)
软件特色:
1,采用高精度有源晶振,成本是普通晶振价格的10倍
有网友表示,KEA的串口在高波特率下容易出现误码。
编码导致误码的原因是波特率不匹配,从而导致采样错误。高精度的有源晶体在抗干扰性和准确性方面都非常出色。
该示例显示,串行端口下载了固件,波特率是256000,仍然有大量的高速传输而没有错误
2.板针头在两侧分布,使用户更容易布线
支持插入孔板。排针仅使用两侧,使主板PCB布线容易。
3.周围分布有四个蓝色LED灯,并且在一定距离内调试了汽车,可以轻松确定哪个LED灯异常闪烁。
使用说明:
过度配置参数,位于项目目录\ App \ Inc \ MKEA128_conf.h中:
#Define BUS_ISDIV 1 //总线是否被CORE除以2,是否被除1,是否未除0
#Define TIMER_ISDIV 1 //计时器是否从CORE中除以2,是否除以1,是否未除0
配置上面的配置意味着:
CORE核心频率可以配置为20、40、80M。 (最高配置为40M)
BUSBus时钟和TIMER时钟。它来自CORE核心时钟。无法分配,或除以二。
较高的配置是总线时钟和定时器时钟由CORE除以2。
配置完成后,我们可以通过读取以下四个变量来了解微控制器的时钟频率:
常规知识点
配置在App \ Inc \ MKEA128_it.h中配置中断功能条目。
例如,上面的例程被配置为:
#定义PIT_CH0_IRQHandler的pit0_irq
此后,当触发PIT通道0中断时,将执行pit0_irq。
调用enable_irq启用中断。
Enable_irq(PIT_CH0_IRQn); //启用PIT_CH0中断
为了省电,默认情况下禁用芯片的外围中断。您需要调用此函数来启用中断。
换句话说,中断信号即将到来。如果未启用中断(允许触发中断),则将不执行指定的功能。启用后才能执行。
请注意:
enable_irq参数的后缀是_IRQn。另一个参数后缀是_VECTORn,此处未使用,但请记住不要混淆。
3.初始化所有模块后,需要启用总中断:
EnableInterrupts; //启用总中断(无论何时中断
使用upt,这是必需的)
Enable_irq等效于家用电器的开关。 EnableInterrupts等效于家庭电源开关。两者都同时打开以打开设备。
中断功能可以在App \ MKEA128_it.c中完成。也可以在其他C文件中完成。
以上仅以PIT_CH0中断为例。如果需要其他中断,请参见App \ Inc \ MKEA128_it.h中的模板。
//需要哪个中断,只需对其进行定义即可。下面的参考模板
例如:
UART0可以配置两种不同的方案:UART0_RX_B0_TX_B1和UART0_RX_A2_TX_A3。但是,B0不能用于RX,而A3不能用于TX。
配置在项目目录\ App \ Inc \ PORT_cfg.h中进行配置:
哪个使用了哪个模块引脚,只需从可选列表中选择一个即可。
串行端口传输时,我们通常使用printf函数。
在项目目录\ App \ Inc \ MKEA128_conf.h中配置printf函数的端口配置:
UART0使用的特定IO引脚可以在项目目录\ App \ Inc \ PORT_cfg.h中进行配置:
面的代码将UART0的RX引脚配置为PTA2,将TX引脚配置为PTA3。
printf功能是FWD提供的功能。它将最终在项目目录\ App \ MKEA128_conf.c中调用enter_fputc函数以完成实际发送:
您可以看到串行端口发送了该功能,您需要传递开始时配置的VCAN_PORT参数。
小心:
串行通讯是交叉接线的。 A的TX引脚需要连接到B的RX引脚。
山外图书馆的底层支持切换以选择不同型号的山外液晶显示器。底层的液晶切换不会影响上层的API函数的调用,这可以大大减少我们对程序的更改。
如果LCD型号的分辨率不同,则需要自己处理不同分辨率的显示位置。
配置在项目目录\ App \ Inc \ MKEA128_conf.h中进行配置:
后一行USE_LCD是选择哪个LCD的最终判断。在此选择了1.77英寸小型LCD ST7735S。
LCD针脚修改方法
1.44英寸的小型LCD尺寸小,适合在汽车中使用。总线是由IO模拟的,因此更改IO要容易得多。更改方法如下:
(以ST7735S为例,ST7735R相同)
在项目目录\ Board \ inc \ VCAN_LCD_ST7735S.h中:
上部分是很好理解的。后一部分是8位IO的数据输入,输出和输入/输出方向控制的问题
LcD_ST7735S_P0是8位数据的输出。此处的配置为PTG_OUT,即PTG,即PTG0〜7的8位IO。
LCD_ST7735S_PDDR_OUT()用于配置8位数据作为输出的方向。
LCD_ST7735S_SPIN表示数据端口的最低有效引脚。对于PTG模块,最低位自然是PTG0。
8位数据必须连续且地址对齐,否则修改非常困难!
佘山在KEA董事会之外,拥有12和16个英文字体。
可以在Board \ inc \ VCAN_LCD.h中定义:
配置后,然后调用LCD功能以显示英文字符和数字,这些英文字符和数字根据字体配置大小显示。
老山例程经常使用延迟函数,例如DELAY,DELAY_MS。具体来说,哪个模块实现延迟,山外的配置文件可以选择。
配置在项目目录\ App \ Inc \ MKEA128_conf.h中进行配置:
如果#if是宏条件选择,则指示是否在范围内编译代码。
#Elif与普通代码中的else等效,具有与上述相同的效果。
#Endif,指示结束宏条件区域。
0为假,表示不满足条件。 1为真,表示条件为真。
上面的代码,前两个条件为假,即选择了最后一个结果。确实等于:
换句话说,将软件延迟用作延迟功能。软件延迟,更大的错误。如果需要精确的延迟,请配置硬件模块的延迟。
例如,将滴答计时器SYSTICK配置为延迟
优先设定功能:
无效NVIC_SetPriority(IRQn_Type IRQn,uint32_t优先级)
KEA128优先级范围是0〜3,优先级越低,优先级越高(2位)
启用中断功能:
无NVIC_EnableIRQ(IRQn_Type IRQn)
但是,通常我们使用enable_irq代替NVIC_EnableIRQ,这更容易理解。
NVIC_SetPriority(PIT_CH0_IRQn,2); // PIT通道0的优先级为2
进一步阅读:
Coertx-M4系列中断嵌套和优先级描述(新的M0 +系列描述)-智能汽车数据区域– Shanwai论坛
IRQn_Type在Chip \ inc \ common.h中定义:
本文介绍的内容比较深奥,新手可以一开始就理解它,并且不会影响日常使用。
封闭式架构
嘘、
Wai KEA是一个块体系结构:
区间范围大小数据内容
0〜16K16K系统分区(集成FWD)
16k〜128K112KAPP用户数据
其中,系统分区受到保护,用户编写的程序无法重写这部分数据。
系统分区,集成式一键解锁,串口下载,英文12、16字体,支持浮点数的printf等功能。
系统分区,最大的功能是保护单板不被锁定。如果用户程序执行不正常并进入串行端口下载模式,则将重置数据以避免芯片锁
为什么锁被锁起来?请参阅我们的文章:
老同学经常问的问题:烧错软件会锁定芯片吗?
http://www.vcan123.com/forum.php?mod=viewthread&tid=18278
在使用Kwai版本的核心板,请勿使用Jlink解锁,否则将触发升级功能并取消保护。
板球本身具有抵抗因飞行或下载异常引起的锁定的功能,不会被锁定。而是使用jlink释放保护,但它很容易导致锁定。
对FWD的理解
等效关系MCU窗口计算机系统
执行文件APP(BIN)EXE
外部库FWDDLL
WDFWD就像一个窗口DLL文件,而我们编写的APP(bin)文件就像是计算机的EXE可执行文件。
o山外国图书馆的部分代码直接写入FWD文件中,并通过在项目目录\ App \ enter.h文件中声明的接口进行调用。之后,如果您更新库,则只需要重新刻录FWD文件并替换enter.h文件,而无需重新迁移整个项目。
以山外的计算机为例:
等效关系单片机
montain.exe外部的可执行文件APP1(BIN)多功能调试助手
APP2(BIN)Shanwai字体库菜单assistant.exe
在单芯片计算机中,可以有多个APP,也可以有多个FWD。一个APP可以调用多个FWD功能。同样,多个APP可以调用相同的FWD函数。
共享的FWD可以大大减小APP的大小,并且方便我们编写多个APP。同时,该库已更新,您只需要重新刷新FWD,而无需更改APP代码。
FWD功能界面
关于FWD的功能接口,在项目目录\ App \ enter.h中定义:
由于定义是通过宏定义完成的,因此通常很难理解源代码。 Shanwai已经在结构的注释中组织了此部分的内容。
在enter.h中查看mydata_in_t的定义。
虚空* spi_init; // uint32_t spi_init(SPIn_e,PTXn_e pc,SPI_CFG,uint32波特,uint32 bus_khz,char use_
pin_mode); // SPI初始化,选择片选信号,设置模式,波特率(当前仅支持主机模式)
虚空* spi_set_baud; // uint32_t spi_set_baud(SPIn_e,uint32波特,uint32 bus_khz);
无效* spi_mosi; // void spi_mosi(SPIn_e,PTXn_e pcs,uint8 * modata,uint8 * midata,uint32 len); // SPI发送和接收函数,发送databuff数据,并将接收到的数据存储在databuff中(请注意,(将覆盖原始的databuff)
无效* spi_mosi_cmd; // void spi_mosi_cmd(SPIn_e,PTXn_e pcs,uint8 * mocmd,uint8 * micmd,uint8 * modata,uint8 * midata,uint32 cmdlen,uint32 len); //与spi_mosi相比,SPI发送和接收函数更多首先发送cmd缓冲区的步骤,即分两部分发送
// KBI按键中断
虚空* kbi_init; // void kbi_init(PTXn_e ch,uint8_t cfg); // ch为PTA0〜D7时,为KBI0模块,PTE0〜H7为时,KBI1模块。同一模块必须具有相同的配置触发模式。多个时,建议使用kbi_allinit。
虚空* irq_init; // void irq_init(PTXn_e,uint8_t cfg); //引脚为PTI0〜I6(原本为A5,但为复位端口,不能使用)。一次只能配置一个。
// FTM定时中断(估计没人会以此方式使用它并浪费FTM)
无效* ftm_timing_init; // void ftm_timing_init(FTMn_e ftmn,uint16_t counttime,FTM_PS_e ps); //具有timer_cl周期的定时器中断功能
// FTM脉冲中断(很少使用,通常用于定时测量脉冲数)
虚空* ftm_pulsing_init; // void ftm_pulsing_init(FTMn_e ftmn,uint16_t counttime,FTM_PS_e ps,PTXn_e tclk_ptxn); //在脉冲计数中具有恒定脉冲计数的中断功能
//执行新的APP API接口(与普通函数调用不同,以下函数重置堆栈地址)
无效* jmp_app; // void jmp_app(uint32_t sp,uint32_t pc); //跳转到新的APP
无效* jmp_bin; // void jmp_bin(uint32_t addr); //跳转到新的APP BIN文件(bin文件的第一个32位数据是堆栈地址,第二个32位数据是启动功能的条目)
佘山KEA板外支持串口下载和DAP / Jlink下载两种方式。下载器的下载方法与K60微控制器的下载方法相同。本文仅介绍串行端口下载。
串行端口下载,我们需要使用我们支持的KEA串行端口下载工具将串行端口引脚连接到核心板UART0的A2 / A3接口。波特率可以从256000、115200、57600、38400和9600中选择。共有5种波特率方案。
如果使用我们的DAP仿真器,集成的串行端口功能,则可以直接用10针电缆连接它。
进入串行下载模式的具体步骤:
1.将串行电缆连接到核心板上。
2.长按山外KEA核心板的独立键(KEY),不要松开。按重置按钮放开。
3.当核心板LED0闪烁时,您可以释放独立按钮。
4.使用Shanwai KEA串行端口下载软件,选择要下载的固件,然后单击<Download Update>按钮。右侧的文本框指示完成。
下载在汽车上下载无线串行端口的步骤:
如何如何为蓝牙配置串行通信,请自行询问蓝牙销售商。不同的蓝牙具有不同的配置方法。
1.将PTE4引脚连接到GND。按一次重置按钮进入串行端口下载模式。
2.主机下载固件并执行新的APP。
3.如果需要再次下载新的APP,则需要在APP中编写串行端口控制代码,调用NVIC_SystemReset()函数以完成重置,然后再次进入串行端口下载模式。
4.如果不需要再次下载,只需重置即可,直接单击主机中的<Execute APP>按钮。