keil的基本使用及其问题

发布于:2022-11-01 ⋅ 阅读:(489) ⋅ 点赞:(0)

前言:

大概总结一下JMU汇编与单片机课程的keil使用遇到的一些问题

新建工程文件

请添加图片描述请添加图片描述请添加图片描述
请添加图片描述

请添加图片描述
新建文件:
请添加图片描述
注意添加后缀名:
请添加图片描述
请添加图片描述
将文件添加到工程文件下的组里才能进行编译和调试
请添加图片描述
请添加图片描述
添加完毕就可以开始愉快的编程了

常见问题

问题一:

出现error 65: access violation at C:0x0000 : no ‘execute/read’ permission报错的解决方法

解决方法一:(102条消息) “*** error 65: access violation at 0x0000000C : no ‘read’ permission”错误的解决_Maple_Leaf_15的博客-CSDN博客
解决步骤:
  1. Option->Debug->Use_Simulator->CPU.DLL的Parameter,改为-REMAP。现象:依然错误,当时内存地址已经改变:*** error 65: access violation at 0x40023800 : no ‘read’ permission

  2. Option->Debug->Use_Simulator->Initialization_File,打开并新建一个.ini文件,里面写上map 0x40000000,0x400FFFFF read write保存即可(MAP不区分大小写,注意read和write中间是空格不是逗号)

  3. 再进入Debugger就可以了

  4. 或者,可以省略第二步,进入Debugger之后再设置map:Debug->Memory_map,手动输入0x40000000,0x400FFFFF(输入框上面有个示例是0x4000FFFF,但是这个地址值不够大,我们要大一点的0x400FFFFF)。步骤2和4的区别在于:每次退出Debugger后,步骤4的设置都会丢失,会比较麻烦,所以一般只用步骤2的方法

  5. 貌似不能通过更改设置中的DLL和它的参数来修正STM32F4的这个错误。因为在keil的安装目录下的\ARM\BIN里面没有相应的DLL文件(通过“文件说明”项来查看文件的使用说明~)

解决方法二:

貌似是startup文件规定了进入程序在0000H,所以将程序的开始地址改成ORG 0000H即可,其实大多数都是软件程序的问题,养成规范的编程习惯很重要。一开始为了避免中断的入口地址受到影响,决定从ORG 0100H开始,现在想想其实必要性不是很大,保证程序进入才是最重要的。

发现问题的途径是发现指针指向的都是nop的地址.果然很多时候要先从程序自身找问题

问题二:

这里GROUP如果同时有两个.asm文件,只会一直优先debug前面那个。

解决办法:

目前的解决办法是把不需要调试的.asm文件直接按键盘右上角的delete删去.只留下一个进行debug

总结:

后续还会同步更新,欢迎大家批评指正

直接按键盘右上角的delete删去.只留下一个进行debug

总结:

后续还会同步更新,欢迎大家批评指正
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到