用Keil5编写STM32单片机,出现错误
你点击那行错误提示,它会自动跳到错误的地方(main.c中的138行),然后看看是不是少了个“;”号,如果找不到就上下行看看有没有少。
KEIL5 pack包出现很多error,怎么解决
MDK高版本会多一个Pack Installer,安装完之后,Pack Installer自动弹出,这时需要下载安装Keil::STM32F0xx_DFP(不安装的话不会有STM32F030的器件),看的的错误信息,可能Keil::STM32F0xx_DFP不完整。
Keil5 union错误提示 如何修改
typedef struct __attribute__ ((packed)) //darf im EEPROM nur 7 Bytes belegen
{
unsigned char Opcode;
unsigned char Type;
unsigned char Motor;
unsigned int Error;
__packed union
{
int Int32;
unsigned char Byte[4];
} Value;
}TTMCLCommand;
用keil5 STM32F107系列芯片编译一个指令时提示错误为 A1105E: Area directive missing 怎么解决?
STM32调试过程中常见的问题及解决方法 一、 在“Debug选项卡”下设置好仿真器的类型后,下载程序时却提示“No ULINK Device found.”
解决办法: Keil MDK默认使用ULINK仿真器下载程序,在“Project ---Option for Target 'xxx' ---Utilities选项卡”下把编程所使用的仿真器改为相应的类型即可。
二、 编译工程时提示如下信息:
main.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from stm32f10x_nvic.o).
main.axf: Error: L6218E: Undefined symbol __GetBASEPRI (referred from stm32f10x_nvic.o).
main.axf: Error: L6218E: Undefined symbol __RESETFAULTMASK (referred from stm32f10x_nvic.o).
main.axf: Error: L6218E: Undefined symbol __RESETPRIMASK (referred from stm32f10x_nvic.o).
main.axf: Error: L6218E: Undefined symbol __SETFAULTMASK (referred from stm32f10x_nvic.o).
main.axf: Error: L6218E: Undefined symbol __SETPRIMASK (referred from stm32f10x_nvic.o).
解决办法:工程缺少“cortexm3_macro.s”文件,把cortexm3_macro.s和STM3210x.s全部添加到工程即可。
三、调试器不能连接到STM32的问题与解决办法
很多人都碰到过调试器不能连接到STM32的问题,不管是IAR的J-Link还是Keil的ULink,或者是ST的ST-Link。出现这个问题时,调试软件会提示不能建立与Cortex-M3的连接,或提示不能下载程序,或提示找不到要调试的设备等。
这样的问题都是发生在调试那些可以在CPU不干预的时候自动运行的模块、或在调试低功耗模式的程序的时候。所谓“可以在CPU不干预的时候自动运行的模块”包括:DMA、定时器、连续转换模式下的ADC、看门狗等模块。
--------------------------------------------------------------------------------
这个问题的根源是:
1. 调试器需要在RAM内执行一段程序,对Flash进行擦写操作,如果不停止这些自动运行的模块,它们会干扰程序在RAM中的执行,致使下载失败。比如DMA模块被配置为不停地拷贝一段数据区,而调试器刚好需要使用DMA数据传输的目标区域,这时DMA的操作将会与调试器的操作发生冲突。再比如,如果启动了看门狗而没有执行硬件复位,则在下次调试器需要下载程序时,看门狗超时将触发芯片复位,导致下载操作失败。
2. 低功耗是通过停止CPU的时钟而实现,JTAG调试是通过与CPU的通信实现,停止了CPU的时钟致使调试器会失去与CPU的通信。
keil5的错误语法提示在哪里打开
TEMP.H,第7行,有错。其它错误,恐怕都是,你用 bit、data 当做变量名,引起的。改别的名,试试看。