导航:首页 > 源码编译 > mdk5编译出错的原因

mdk5编译出错的原因

发布时间:2022-08-20 02:27:59

㈠ Keil 编译一直错误error C129: missing ';' before 'char'

原因:因为缺少';。解决步骤如下:

1.第一步是打开devc++5.11,然后进入以下界面。

㈡ 用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的通信。

㈢ win8 安装MDK5 编译时出错,求解答

这是因为5.14里需要自己加入CMSIS库,core_cm3.h位于CMSIS库中
菜单“Project -> Manage -> Run-time Environment”,展开CMSIS -> CORE,选中右边的复选框,点击OK,回到工程里rebuild就可以了

㈣ MDK5编译报错

使用C:\Keil\ARM\Startup\ST\STM32F10x.s这个启动代码

㈤ 问一个keil5的编译错误的问题

提示指出了4个未定义的符号,在文件中无法识别到。
例如 stm32f4xx_it 中用到了 EXTI_ClearITPendingBit,但是从 stm32f4xx_it 这个模块的角度而言,它查不到你在哪里定义了这个符号,无法判断这个符号究竟是什么,也就无法进行连接。
一般而言都是包含关系有错误,或工程的搜寻路径配置有问题。

㈥ mdk5 汇编和C语言编程的时候出现了错误 A1207E: Bad or unknown attribute error: A1106E: Missing comma

有一个函数是隐含定义的,没有明确定义。
根据提示的函数名,查一查是什么函数。有可能是引用函数名称错误,或者某个库文件没有包含进来。

㈦ keil编译时报错:error: L6002U: Could not open file .\***\core_cm3.o

历时好几次的碰壁,我终于解决这个问题了。

根据网络其他答案给的思路,其实就是修改环境变量,因为当前系统TEMP和TMP环境变量存在着中文。但是如果你直接修改 %USERPROFILE% 为其他英文路径开Keil会卡死并闪退(其实是你打开main.c就闪退)!!!

因为修改成别的一个英文文件夹是不行的,你只是在环境变量中修改了文件路径,但是电脑中这些路径并不存在,所以你打开Keil才会闪退。

那么解决问题的关键就是:先在系统C盘中创建好了所有的英文路径,再你创建的文件夹路径修改环境变量!!!


准备工作:先将你的Keil软件关闭


1、在【C盘根目录】创建【UserData】文件夹


点击确定后退出。

再次打开Keil编译即可不再报错,再次愉快写代码吧。


祝愿诸位万事如意。

㈧ keil c51编译错误什么原因,求解

可能是因为你软件没安装好,比如重装系统之后可能会出现这个问题。
另外,估计你是用的KEIL V4版的,你安装个KEIL V2 或V3版,然后用V2 或V3 打开工程,就可以顺利编译工程,并生成HEX文件了。

㈨ keil5,编译出现错误,提示是段太大,怎么办

keil5,编译出现错误,提示是段太大,怎么办?如果是51单片机的话,因为RAM资源很小,所以要尽量节约每一个字节RAM,如果是常量数组就定义成常量,例如 code char datastr[2]={1,2};
如果有外部RAM,则定义到XRAM中,例如:xdata char datastr[2];
能用BIT就不要用char,能用char 就不要用Int。做单片机的话, 还是必须要了解一下其存储结构, 最起码得知道data idata xdata所指的存储区域
idata 指向的片内ram ,大小范围为256字节,所以你一个数组定义在idata段内,不能超过256字节,超过就会报错。
xdata指向的片外ram,大小范围为64KB,你可以将你需要的大容量数组定义在该段内

阅读全文

与mdk5编译出错的原因相关的资料

热点内容
歌词滚动效果android 浏览:14
程序员一天的六场战斗 浏览:797
自制压缩泵的做法 浏览:622
androidstring变量 浏览:247
数学乘法速算法 浏览:986
压缩包制作后照片顺序怎么改 浏览:680
fibonacci数列算法 浏览:775
产品经理要和程序员吵架吗 浏览:252
grub2命令行 浏览:618
无法获取加密卡信息 浏览:774
云服务器网卡充值 浏览:509
编程就是软件 浏览:49
服务器如何添加权限 浏览:437
引用指针编程 浏览:851
手机加密日记本苹果版下载 浏览:64
命令行括号 浏览:176
java程序升级 浏览:490
排序算法之插入类 浏览:227
gcccreate命令 浏览:73
海尔监控用什么app 浏览:65