第 191 问:
Q: 有一问题请教,在市场上买的 ARM 核单片机的程序用 ADS1.2 建立项目,添加初始化程序 vectors.s, init.s,target.c 和 target.h 后再写自己的主程序,编译烧录到 ARM 中即可投入使用了吗 而有的 ARM 嵌入式系统中还有 bootloader,那是不是利用 ARM 开发的产品都要 bootloader,而 bootloader 是通过什么软件编译的我所买的 easyarm 开发板的 lpc2104 中有 bootloader 吗
A:bootloader 是用来下载程序到 FLASH 中的,LPC210x 具有 ISP 功能,可直接使用 ISP 下载程序,不需要自己编写 bootloader.
第 192 问:
Q:我想用 IAP 把数据存到 2104 的 FLASH 里,可我怎么读出来呢
A:定义一指针,指向你用 IAP 写数据的那个区域,就可以读了.
第 193 问:
Q:当 PLLCFG 设置为 0x05 时的效果和设置为 0x25 时一样,但晶振是 11.0592MHz 的,如果设为 0x05, Fcco 的范围不在 156M-320MHz,为什么还可以用,而且和其它没有区别
A:手册说明的是保守值.实际的芯片的 Fcco 可能在更大的范围可以工作.
第 194 问:
Q:WDT 复位后从地址 0 开始执行吗 运行程序 5.40 后,WDT 复位后并不是从地址 0 开始执行,却跑去执行[0x07806808] dcd 0x07806808,
并一直执行此语句.如何才能从地址 0 开始执行
A:WDT 复位后是从 0 开始执行程序.可在复位处设置一些外部现象(如 LED 闪烁),然后脱机运行.
第 195 问:
Q:我运行光盘上原始的 IAP 程序例子,使用它的 project 是正常的,但我自己重新建一个目录和 project,参数设置按照原来工程的设置,编译出来的 axf 文件就是会在运行到第一个 SelSector(1,1)时无法继续下去,我自己的 axf 文件和光盘上的一样大 16kB, 究竟是怎么一回事 有一处设置 Language Settings 里的 ATPCS 项有什么意义 其他工程好像没有选择这一项.
A:IAP 是 THUMB 指令,如果用户程序是 ARM 指令,所以调用时需要使用 BX 指令.则 C 编译器的 ATPCS 项要设置"ARM/Thumb interwork...".
第 196 问:
Q:LPC2104 具有 6 个 PWM,可以应用与电机控制,可是却没有计数器进行电机转速的 PID 闭环控制, 这个情况是不是 lPC2106 的一个缺陷呢如果不是,那应该怎么样才能进行外部脉冲的计数 在不用外加计数器的情况下! 很是困惑!
A:捕获算周期.
第 197 问:
Q:ISP 通讯的问题.
自己做的板子,使用 ISP 下载程序,提示无法通讯.板子上使用了跳线使得 44 脚和地连通,也通过 max3232 进行电平转换了.还有复位电路感觉也一切正常.不知道为什么就是无法通讯.好晕啊,各位成功下载的大侠们指点一下吧.试了好几天了,都没法成功.
A:你确保了 max3232 过来的电平正确了吗如果正确了,还要确保通信方向是否弄反,最后注意复位信号是否正确.
A:搞定了,原来是 max3232 的问题,现在已经可以下载程序了!
第 198 问:
Q:如何用 ISP 软件擦除 FLASH 中的内容啊
我在调试 UART0 串口程序的时候出现问题,上网看到很多文章都建议要先擦除 FLASH 中已有的内容,于是用 ISP 软件进行擦除.但是在使用该软件过程中,按到很多钮都说: 串口不能正常工作. 这是什么原因啊请教高手正确使用 ISP 软件的方法及注意事项.
A:看看你的跳线是不是按要求接好了!!
第 199 问:
Q:EasyArm2104 开发板上的 ISP 下载的时候通讯不上.请问,要跳 JP6 吗
A:您可以自己试一下:
1.是不是接的 UART0 口
2.系统晶振(XATL.Freq)是不是 11059.2kHz
3.串口选择是否正确
4.要求你复位的时候你是否有复位
5.ISP 使能跳线使用 JP1(JP6 和 JP7 保持主 JTAG 调试状态)!
第 200 问:
Q:请教高手,lpc2104 和 lpc2114 外部晶振接法
原来我用 LPC2104 做的板子,外部晶振接到 X1 时不可用.后来接到 X2 上时好象可以用, 但这与资料上的说法好象有点出入.现在我想换 LPC2114 改版,但不想再次改版了.故在此请教外部晶振接法
A:使用外部无源晶振,晶振两个管脚无需连接,与 51 单片机基本一致;时钟信号由 X1 输入.
第 201 问:
Q:请问有没有工业级的 21**系列
A:lpc2114 等芯片就是工业级的.
第 202 问:
Q:读 LPC2119/2129/2194/2292/2294 使用指南之迷惑.
1. 对于 2292/2294,开放了外部总线,程序应该可以放到外部,外部和内部的存储空间地址不连续,如何保证程序超过 128K 后自动跳转到外部执行程序
2. VIC 部分,VIC 通道号 17#和 18#都是 EINT2,是什么意思 难道一个中断源占 2 个号EINT3 的 VIC 通道号是多少
3. 我购买的芯片是否内部已经有了 Boot 装载程序
A:1.使用分散加载.
2.可能是笔误.
3.有.
第 203 问:
Q:请问用 LPC2104 扩展 D12 有没有问题
A:可以使用模拟总线,速度比 51 快几倍.
第 204 问:
Q:请教:LPC2114 的 V3 能否接 2.8V
系统有多个外设,有一个使用 2.8V±5%的电平接口,其它使用 3.3V,那么 LPC2114 的V3 怎样接 V3 接 2.8V 电压基准是否可以,口线与其它 3.3V 的接口能否直接相连
A:建议不要超出手册说明的范围使用芯片.
第 205 问:
Q:我自己做的板子,把 2104 的 44 脚(EINT1)接地,再利用 LPC210XISP 软件通过串口 0 往芯片里写程序,为何按了复位键以后连芯片的 ID 都不能读到
A:应该检查如下几点:
1. 确保你的芯片在工作.一般可以查看芯片的几个电源是否都正确,查看晶体是否有波形, 最好还可以看看各电源的纹波是否严重.
2. 确保电平转换芯片的正确工作,以及各输入输出的正确.这个方向最容易弄反.
3. 查看复位端的电平是否正确,复位按健正常.
4. 确保 44 脚接地.
第 206 问:
Q:请教如何通过 2104 的串口 1 来往芯片里写程序
A:使用 ISP 功能,不能用串口 1,只能用 UART0.
第 207 问:
Q:请教 ARM2104 配套《ARM 微控制器基础与实战》上第一个实验的问题.
在 ADS1.2 中编译以下程序后进入 AXD 进行调试成功.
程序稍加修改,使 LED1..LED4 同时闪烁,在 ADS1.2 中编译以下程序进入 AXD 调试成功.
问题:两个程序的软件延时部分相同,但两个程序使 LED 的闪烁间隔时间不同,不知是何原因
A:可以先使用 ISP 将芯片 FLASH 擦除试试,可能是 FLASH 程序设置 PLL 的缘故.
第 208 问:
Q:1.《ARM 微控制器基础与实战》上说 32 字节的向量表的累加和必须为 0 才可脱机运行, 是否需要每次修改程序后修改第六个保留向量的值(因为地址有改变).
2.《ARM 微控制器基础与实战》上说用 ldr pc, resetaddr 指令代替 b 指令可全空间跳转,但是我看指令说明 ldr 指令的地址只能是当前地址的+-4k 呀!
A:1.不用修改.
2.请看书.
第 209 问:
Q:关于 2119 的 can 的通讯问题,就是 2119 的波特率的设置与 SJA1000 有什么不同
A:基本上一致,将 ARM7 的 Fvpb 与 SJA1000 的晶振对比:
BRP,SJW,TSEG1,TSEG2 均是同样的设置方法,需要计算,可参照 SJA1000 中位定时参数的计算方法.
第 210 问:
Q:请问各位高手.新买的 ARM 芯片是不是直接安装上去就可以直接下载程序工作了了吗,
还需要有什么别的设置吗.
A:LPC2000 系列有片内 FLASH 的都可以直接 ISP,不过要保证硬件正常.
第 211 问:
Q:2119 实时时钟电池怎么供电 所有的电源引脚都要供电吗
A:没有独立的电池供电引脚,以后会推出 RTC 独立晶振和备份电源接口的型号. 不太适合电池供电,除此以外,功能还是很强的.
第 212 问:
Q:在调试实验程序的时候,把低功耗掉电模式实验代码 PDRUN 编译后下载到 2104 FLASH 以后,程序正常运行了.可是再 DEBUG 程序时,在 AXD 下总是提示错误: Error:flash is user configured protected
我能明白这个是因为 2104 一直处于掉电模式的原因,可是如何解除这种状态,把现在FLASH 里的这段程序擦除掉啊
A:通过 ISP 软件擦除.
第 213 问:
Q:请教关于"IAP 实验的问题"
《ARM 微控制器基础与实战》359 页的 IAP 实验是用汇编写的,然而在光盘上 IAPtest 实验的程序是用 C 编写,其中提到本实验是调用 IAP 服务程序.请问:
1. IAP 服务程序放在了什么地方(汇编部分)
2. 我想向其中写入 10 字节数据,而不是诸如 256 个字节,是否可以,如何实现
3. 在主程序中定义一个数组,如何把此数组中的数据固定在特定地址中阿,然后我好进行 RamToFlash.
A:1.在 BOOT 区,入口地址为 0x7ffffff0,IAP 服务程序为 THUMB 指令.
2.先读取原数据到 RAM 中.如果只需要保存小量数据,且经常要更改,最好使用外部E2PROM.
3.可能不好实现,参考 ADS 帮助手册吧.
第 214 问:
Q:请问 LPC2104 系统为什么采用 11.0592Mhz 的晶振,是在定时上有优势还是其他原因.
A:选用 11.0592MHz 只是为了得到精确的通信波特率,串口通信的可靠性高.
第 215 问:
Q:请教:lpc2104 和 RTL8019AS 的接口问题.
以前在 C8051F 上做,高低地址是固定的,容易接口,RTL8019 映射地址也容易算出.现在 lpc2104 是 32 位的,32 个地址线和 32 个数据线,和外围器件接口时带到很困惑.不知有没有高手看过周立功网站的提供的 lpc2104+RTL8019AS 的接口电路,SA0-SA4 和lpc2104 的哪个脚接在一起 请指点由一个 573 来控制地址与数据总线复用现在有点明白虚拟总线了,加上一个地址锁存器,和 51 机的就很相似了.
A:对,为了兼容 51.
第 216 问:
Q:开发板上的 74HC125 的 U5C,U5D 起什么作用
A:去抖动.
第 217 问:
Q:请教:在 2100 开发板的 ADC 实验(P119 面)中为什么每次 AD 转换都要启动两次
A:切换通道后,丢弃第一次 ADC 转换值.
第 218 问:
Q:如果我的 AD 转换需要的满量程是 0V~5V,是不是把 AD 部分的电源即 V3A 由现在的 3.3V 改为 5V 供电就可以了
A:把输入的电压用电阻分压就可以了.
第 219 问:
Q:疑问:2104 开发板上用了 MAX708,其已有高/低电平复位输出,为什么还要用 74HC125 呢
A:为了使手动与 JTAG 都可以对芯片复位.
第 220 问:
Q:请教高手关于自己做板子的问题.
我自己做了一个 2104 的板子,第一次上电可以通过串口顺利地把 .hex 文件从串口写入flash, 然后再次上电,程序就不执行了,并且再次用周立功公司提供的 ISP 软件却无法访问该芯片.同样地程序我放到周立功地 2104 的开放板用同样的步骤,它却能正常运行,我的板子基本上是按《ARM 微控制器基础与实战》上的图制作的,请指点我的问题可能的原因在哪里请教自己做板子容易出错和注意的地方.
A:重新上电试试.
P0.14 口是否已接为低电平
测一下晶振是否起振
Q:晶振测过已经起振,运行自己的程序不是要把 P0.14 口断开吗 用 ISP 软件下载程序的时候才把 P0.14 接地是不是
A:需要 ISP 时 P0.14 口接地;
需要运行用户程序时,P0.14 口要接一个上拉电阻,因为 P0.14 内部无上拉(作为输入时).
第 221 问:
Q:请问 2104 的复位电路我不用 MAX708 和 74HC125,做成象 51 单片机那样的复位电路可以吗
A:做成这样是为了保证 JTAG 接口和按钮,上电都可以复位芯片!
实现线与逻辑,如果你不需要调试只是生产的话,完全可以那样设计复位电路.
第 222 问:
Q:关于 REMAP
请问 remap 的时候只要给 MEMMAP 赋值就好了吗 具体的中断向量表的映射系统自动给你生成
在启动代码中关于 remap 我只看到赋值,而在《ARM 微控制器基础与实战》上写了一段重映射的代码示例 P280 程序清单 5.2.
如果系统自动 remap 的话,那么映射到的地址空间我们没法改动了
代码中,通过 B lable1 或 bl Lable2 进行跳转时,要不要进行栈的操作
如果调用的是 c 语言函数,除了传递必要的参数,有没有保存寄存器呢
A:中断向量表不是系统自动生成的,是由用户编写.Remap 通过改变 MEMMAP 的值实现. 请看一下"ARM-Thumb 过程调用标准"(ATPCS.pdf)这篇文档.安装 ADS 后就有.
第 223 问:
Q:请问:lpc2104 运行速度
ARM7TDMI(-S)能提供 0.9MIPS/MHz 的指令执行速度,lpc2104 cclk 为 60MHZ 时指令执行速度应为 0.9*60 = 54 MIPS,这样得到一条指令的执行速度大概为 0.018us.可我用示波器观察计算得出一条指令的执行时间远远大于这个数值,大概为 0.1us-0.8us(可能由于流水线的影响,指令执行时间的差别很大).这是怎么回事呀
A:这是一个在存储器带宽足够时的平均值.如果程序和数据均在片内 RAM 中,这样计算
1. 一般指令需 1 个主时钟时间
2. 每次跳转增加 3 个主时钟时间(也许是 2 个,需要确认)
3. 从 RAM 中取一个操作数多增加一个主时钟时间,以次类推
4. 保存一个结果到 RAM 中多增加一个主时钟时间,以次类推
5. 访问片内外设,增加一个外设时钟时间
注意伪指令 ldr rn,=x 需要从 ram 中取一个操作数.
在 flash 中如果 MAM 配置为最优,平均速度与在 ram 中相差无几.
第 224 问:
Q:请教斑竹关于 211x 和 22xx 系列 P1.16-P1.25 这些引脚的作用
另外在开发版上除了 JTAG 口外,上述引脚是否用到
在设计自己的系统时,如果将 P1.16-P1.25 这些脚作为普通输入输出口用,是否会影响系统的调试
A:ETM 跟踪端口. 一般 JTAG 仿真器不使用这些引脚,所以设计自己的系统时用作 I/O 即可.不会影响调试.
第 225 问:
Q:请问,请问评估板上的 S-1131B 哪里能订购到,或者有什么替换型号.谢谢
A:SPX1117M3_1.8 和 SPX1117M3_3.3.
http://www.zlgmcu.com/Sipex/power/SPX1117.asp.
第 226 问:
Q:关于 P2104 的驱动能力!
我正在用 2104 外接 LCD 其中用 P0 口模拟总线 我的了 LCD 电压是 5V 的,而 2104 是 3.3V 的,能否直接相接 我没接时还有信号输出但接上之后就什么信号都没有了,请问是何缘故是否需要电平转换芯片或驱动芯片 上拉电阻能否满足要求
A:中间串一个小电阻试一试.我们接过多种总线器件都没有问题.
第 227 问:
Q:问一下,lpc2104 的 I/O 的驱动能力
单个 I/O 可以走多大电流
全体 I/O 可以走多大电流
A:数据手册上有,Ioh,Iol.
第 228 问:
Q:2119 最高频率可达 60MHZ,在频率比较高的时候应该使用几层的电路板,有没有确切的规定
A:不知道什么时候有人就把 PCB 的层数与频率划上了一个必然的关系.60MHz 很高吗 看看你的调频收音机,FM 波段范围是 88-108MHz,内部部本振频率可达 118.7MHz,1 层板!看看电视机里头的电路板,高频盒内一般最多就 2 层板(还是一层的居多)它跑多高的频率 自己查查 UHF 的范围吧,记得保持冷静因为没有什么值得去惊讶的!再有几年前拆过一个 GIGA 的游戏机,音频部分的 PCB 是 4 层板(独立的小板),小日本的东西元器件密密麻麻的,看看这个它又能是跑多高的频率 况且现在数字电路的电平容差相对于模拟电路的至少有一个数量级的差别.在高频模拟电路下,多一块覆铜可能就使电路的性能下降或工作点异常,例如它可能使电感特性器件的 Q 值下降,产生涡流耗损等. 很多时候增加 PCB 的层数决不是单纯因为系统速度,你所说的 60Mhz 也只是芯片内部的系统时钟, 难道你的 IO 也要作为时钟源使用吗 在 ARM 中采用 PLL 技术使得外部时钟可以下降到一个较低的水平,则可以抑制部分由时钟电路产生的射频干扰,有较好的EMC,EMI 特性,一个合理的 PCB layout 可能比盲目增加 PCB 层数的方法提高系统的稳定性来得更合理和有效!看你是想做精品还是想做产品或其他,这就要综合多方因素考虑了.
无可否认,增加 PCB 的层数后比较容易的处理一些由于电源寄生干扰产生的问题,适当配合 layout 可以满足一些速度(时序)要求苛刻的电路.由于现在元器件体积日渐小型化,PCB 上元器件密度大,很多时候单面或双面的 layout 实现已经非常困难,增加 PCB 层数是为了更好的使设计变得合理和可靠.
第 229 问:
Q:ARM 抗干扰能力怎样,是否低压器件一定比高电压器件抗干扰能力弱 谢谢!
A:我们用自己的开发板打群脉冲到最高都正常工作(程序没有任何抗干扰措施).
第 230 问:
Q:我刚刚设计完了一块 LPC2106 的电路板.在用 EASYARM 仿真器通过 JTAG 接口调试没有能够使用,但是通过 JTAG 口下载到 FLASH 后上电复位却不能正常工作,手动复位也不行. 同样的程序在购买的实验板上完全可以使用.不知道是怎么回事.我初步怀疑是复位电路问题,但不知道怎么解决.
A:问题解决了!只要将 P0.14 上拉到高电平就可以了.
文章评论(0条评论)
登录后参与讨论