ARM开发问题解答-嵌入式系统开发学习文章整理:深圳龙人嵌入式研发中心(arm9arm7)龙人计算机嵌入式研发中心是国内最早进入嵌入式技术研发和应用推广的技术型企业之一,成立以来在专注于嵌入式底层应用技术的研究和开发的同时为广大客户提供嵌入式系统开发技术、嵌入式解决方案和嵌入式产品(嵌入式开发板、ARM开发板、ARM9开发板、ARM开发工具、ARM仿真器和ARM工控板、ARM实验仪等)。以下是龙人整理的一些常见ARM开发问题和解答。1.在任何IRQ请求产生之后,微控制器跳转到地址0x00000018执行代码。对于向量和非向量地址,可以在0x18放入下面指令:LDR pc,[pc,#-0xff0],该指令将VICVectAddr寄存器保存的地址装入PC但是这时候pc=0x00000018,pc-0xff0=fffff028,而VICVectAddr的地址是fffff030,这是怎么回事?答:就是说本来这个地址(0x00000018)下,应该是放中断服务程序的入口地址的,但是这个地址被装在VICVectAddr寄存器中,所以通过这条指令(LDR pc,[pc,#-0xff0])可转移到VICVectAddr寄存器中所存放的地址出去执行。就这么简单!ARM7TDMI是三级流水线,PC超前于当前执行的指令8字节。ARM开发 ARM开发板 嵌入式开发 嵌入式开发板 嵌入式系统2. 在复位时拉低DBGSEL时,只有管脚p0.17--p0.31的功能控制有效是什么意思?答:应该是"只有DBGSEL为低电平时,管脚p0.17--p0.31的功能控制才有效"3. 对于保存非向量IRQ中断程序地址是用寄存器VICDefVectAddr,如果有2个或2个以上的非向量IRQ中断,则如何保存其各个地址。是保存第一个非向量IRQ中断函数的地址,还是其它的呢?如果是第一个,则是否一定要在程序中将多个非向量IRQ中断函数连续书写呢?答:只写一个非向量中断处理函数,在函数内判断是那一个中断源产生的中断,然后分别处理。如果不想这样做,那么就要使用向量中断了。4. 有熟悉ADS这两个问题的吗 1、偶尔打开AXDSEC,总是提示我有.sec文件没有加载,这是个什么文件呢?在遇到这样情况下,我从新设置了CONFIGURE TARGET就没有问题了 2、在AXD下我用FLASH LOADING 来下载HEX文件到FLASH中,为什么状态栏一直显示RUNNING IMAGES?按道理下栽是很快的事情啊 3、每个工程项目中的debug,debugrel,release是什么意思?怎样设置和使用答:1、这是ads自身的问题,好像以前我说过。敬意不要从ide直接运行axd,应直接开始菜单运行axd然后从file菜单调入调试文件调试。 2、重新设置并重新下载,再不行重装驱动程序 3、仅优化等级不同,一个名称而已。以前的贴子有说明。5. 请问编译器ADS1.2支持c语言中的printf()么?如果能,怎么看结果呢? 答:支持,软件仿真时会在屏幕上看到显示。更多关于嵌入式开发、嵌入式系统学习和ARM开发、嵌入式开发板等问题欢迎咨询:网址:http://www.armlab.net联 系 电 话:+86-0755-83346939 83662100 余小姐销 售 Email:beijingshenzhen@126.com联 系 地 址: 深圳市福田区福虹路世界贸易广场B座13F 邮 编:51803
[阅读全文]