Keilfor arm 入门.docx
- 文档编号:30660051
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:16
- 大小:359.37KB
Keilfor arm 入门.docx
《Keilfor arm 入门.docx》由会员分享,可在线阅读,更多相关《Keilfor arm 入门.docx(16页珍藏版)》请在冰豆网上搜索。
Keilforarm入门
Keilforarm入门
ARM7TDMI结构的Keil开发套件采用最新设计的超豪华uVision3集成开发环境,内嵌C编译器/汇编器/工程管理器/调试器等功能功能模块,是一款稳定/可靠/高效的开发工具,适用于不同层次的的用户,完全满足从专业的应用开发工程师到初学嵌入式软件开发的学生的所有使用要求。
类似于8051的智能平台将大幅度缩短您的开发周期,各大半导体厂商的所有ARM型号将逐一得到全面支持。
KeiluVision调试器可以帮助用户准确地调试ARM器件的片内外围功能(I2C、CAN、UART、SPI、中断、I/O口、A/D转换器、D/A转换器和PWM模块等功能)。
ULINKUSB-JTAG转换器将PC机的USB端口与用户的目标硬件相连(通过JTAG或OCD),使用户可在目标硬件上调试代码。
通过使用KeiluVisionIDE/调试器和ULINKUSB-JTAG转换器,用户可以很方便地编辑、下载和在实际的目标硬件上测试嵌入的程序。
支持Philips、Samsung、Atmel、AnalogDevices、Sharp、ST等众多厂商ARM7内核的ARM微控制器。
特点
∙高效工程管理的uVision3集成开发环境
*Project/Target/Group/File的重叠管理模式,并可逐级设置;
*高度智能彩色语法显示;
*支持编辑状态的断点设置,并在仿真状态下有效。
∙高速ARM指令/外设模拟器
*高效模拟算法缩短大型软件的模拟时间;
*软件模拟进程中允许建立外部输入信号;
*独特的工具窗口,可快速查看寄存器和方便配置外设;
*支持C调试描述语言,可建立与实际硬件高度吻合的仿真平台;
*支持简单/条件/逻辑表达式/存储区读写/地址范围等断点。
∙多种流行编译工具选择
*Keil高效率C编译器;
*ARM公司的ADS/RealView编译器;
*GNUGCC编译器;
*后续厂商的编译器。
∙JTAG仿真器ULINK
*USB通讯接口高速下载用户代码;
*存储区域/寄存器查看;
*快速单步程序运行;
*多种程序断点;
*片内Flash编程。
∙支持器件
*Philips:
LPC2104,LPC2105,LPC2106,LPC2114,LPC2119,LPC2124,LPC2129,
LPC2132,LPC2138,LPC2194,LPC2212,LPC2214,LPC2290,LPC2292,LPC2294;
*Samsung:
S3C44B0X;
*AnalogDevices:
ADuC7020,ADuC7021,ADuC7022,ADuC7024,ADuC7025,
ADuC7026,ADuC7027;
*Atmel:
AT91C140,AT91F40416,AT91F40816,AT91FR40162,
AT91FR4042,AT91FR4081,AT91M40400,AT91M40800,AT91M40807,
AT91M42800A,AT91M43300,AT91M55800A,AT91M63200,AT91R40008,
AT91R40807,AT91SAM7A1,AT91SAM7A2,AT91SAM7A3,AT91SAM7S128,
AT91SAM7S256,AT91SAM7S32,AT91SAM7S64;
*Sharp:
LH75400,LH75401,LH75410,LH75411;
*STMicroelectronics:
STR710FZ1T6,STR710FZ2T6,STR711FR1T6,
STR711FR2T6,STR712FR1T6,STR712FR2T6。
新建工程
在菜单栏里选择PROJECT-NEWPROJECT,选择路径,保存。
此主题相关图片如下:
保存好后,出现一个对话框,选择所用的芯片。
然后确定.
此主题相关图片如下:
接着出现一个对话框,是否加入启动代码,按否。
接下来加入KEIL的启动代码.
点击浏览该文件SAM7.S
接下来新建文件,添加文件到工程里。
此主题相关图片如下:
在FILE菜单里选择-NEW,建交一个新文件。
此主题相关图片如下:
然后保存该文件,保存为**.c。
接着加入到工程里。
此主题相关图片如下:
然后我们选择刚才新建的C文件文本,选择它,然后点“ADD“
此主题相关图片如下:
此主题相关图片如下:
在编译之前要设置一下,使这输出HXE文件。
此主题相关图片如下:
钩上CREATHEXFILE选项
此主题相关图片如下:
还有一点有设置一下,如下图
此主题相关图片如下:
接下来就可以编译文件了,我们就选择PROJECT菜单下的BUILDTARGET或按F7就可以了。
如下图所示。
此主题相关图片如下:
上面所设置的只能输出HEX文件,而下载工具要求的是BIN文件。
所以要借助于一个HEX转BIN的第三方软件。
这里我们选择GCCARM。
GCCARM安装完成后C盘会出现一个:
Cygnus文件夹(默认安装)。
然后在KEIL里设置如下。
钩上RUNUSERPROGRAM,在空格里填入arm-uclibc-objcopy-Iihex**.hex-Obinary**.bin
**的地方写入前面的HEX文件名。
此主题相关图片如下:
BUILD之后就可生成BIN文件。
下面是设置好的KEIL的模板,以后只要在main.c里写自己的程序.
Arm硬件调试笔记
电源问题
1.VDDCORE和VDDIO引脚电源
A)VDDCORE和VDDIO引脚电源必须连接到使用退耦电容的干净的直流电源上;退耦电容应尽可能的接近微控制器的VDD和GND引脚;退耦电容典型值是33nF到100nF。
B)除保证复位的延时时间大于两个电源的上升时间外,对电源的时序上没有特殊的要求。
C)值得注意的是在VDDCORE一直给微控制器供电保存内部RAM和寄存器内容时VDDIO供电不能停止,如果这样的话他不是破坏性的,带能导致内部外围设备的输入进入一个不确定的状态。
此外,除电流连续状态下的阻性负载外,VDDIO的电流消耗依赖于连接到EBI的I/O线和PIO线切换时的负载电容。
这就是说,当CPU处于备用状态时不需要停止VDDIO.
2.VPP引脚
VPP用来提高FLASH的编程和擦除速度。
电压范围参见数据手册。
VPP引脚可以不连接,为防止意外,可以考虑施加一个已知的电平以防止步必要的动作。
主时钟引脚
1.MCKI引脚
MCKI引脚是微控制器的主时钟输入引脚。
此引脚输入一个方波时钟信号。
外部时钟的高半周期(tCH)和低半周期(tCL)有一个最小值,见数据手册。
AT91X40X系列没有内部振荡器,仅仅连接一个晶振是不可以的。
2.MCKO引脚
MCKO引脚提供一个延时的MCKI引脚的时钟输入信号的镜像以提供系统内的其他设备使用。
MCKO驱动能力低,用它来驱动几个TTL负
载是不可行的。
当使用BGA封装的AT91X40X系列微控制器时,如果这个引脚不使用,强烈建议你将它作为PCB上的测试点。
这样用来快速判断微控制器是否有一个正确的时钟
NRST输入引脚
NRST引脚用于主系统复位。
它为低时复位所有内部设备寄存器,ARM内核的程序计数器和JTAG/ICE端口。
在系统引导时他采样BMS和NTRI引脚。
NRST必须被保持到提供给微控制器的电源稳定和依照外部振荡器的启动时间。
在释放NRST引脚前必须保持0电平至少10个时钟周期以便能够正确的采样BMS和NTRI引脚。
复位期间采样的引脚
1.引导模式选择引脚(BMS)
P25/BMS输入引脚在NRST引脚的上升沿采样。
这个引脚使ARM7TDMI内核从他的内部闪存,或连接到EBI的片选0(NCS0)的一个或多个闪存开始读取指令。
一旦BMS引脚在复位期间被采样完毕并且处理器正确初始化,P25/BMS引脚能够作为通用I/O引脚。
依赖于BMS引脚的电平,能够选择引导用存储器数据总线宽度的选择,8位或16位。
具体请参见数据手册。
2.三态输入引脚
为了调试的方便,AT91X40X系列提供了一个三态模式。
这能够从目标板连接仿真探头到应用板。
在三态模式,所有AT91X40X系列微控制器的输出驱动引脚均被禁止。
对于基于闪存的AT91FR40X系列微控制器,三态模式使编程器像对待ATMEL闪存一样对待微控制器。
当用户不使用AT91系列的三态模式时,在复位期间NTRI引脚必须通过一个400KR的电阻上拉。
注意,NTRI引脚复用为I/O线P21和USART1的TXD1引脚。
如果此引脚连接到一个内部包含400KR电阻的标准RS232驱动器,则不需要上拉电阻。
详细参见RS232驱动器。
JTAG/ICE端口引脚
在带IEEE1149标准的JTAG/ICE端口的任何ARM处理器中,TDI,TDO,TMS和TCK是最少的引脚。
除TDO引脚外的其他所有引脚内部均有大约10KR的上拉电阻。
这些引脚用来访问ARM内核的ICE以进行调试。
ATX40X系列在数字I/O单元不具有边界扫描特性,因此在此系列中JTAG的边界扫描特性不能使用。
PIO引脚
1.复用引脚
大多数的I/O引脚复用为一个或两个内部设备。
这些引脚的大多数在PIO模式重新安排状态,举例来说,对于P21/TXD/NTR1示例来说,不受内部设备驱动。
其他一些引脚像地址线A20-A23在外围模式有他们自己的安排状态,举例来说,受EBI驱动。
如果这些引脚复位后由不由外围设备驱动,他们作为通用I/O引脚。
未使用的引脚不用连接但为了避免一些外部异常信号导致的不必要行为和/或内部震荡导致的额外电流损耗,通常考虑在初始化代码中设置这些未使用的引脚为输出模式。
这些I/O线在嵌入式微控制器中没有上拉或下拉电阻。
2.单一功能的PIO引脚
单一功能的PIO引脚不和任何内部设备复用的I/O引脚。
缺省状态,所有I/O引脚在复位后在输入模式。
未使用的I/O引脚可以不连接,但要在初始化代码中设置为输出模式。
这些I/O线在嵌入式微控制器中没有上拉或下拉电阻。
1.地址线引脚
AT91X40X系列地址总线有24根地址线并且因此能够访问16M的存储器空间。
地址线A0-A23不能和任何PIO线或内部设备复用。
地址线A20-A23复用为PIO线和四个附加的4个片选线。
在访问设备时如果这4个高4位地址线不使用,他们能够作为片选线或PIO线。
当使用基于闪存的AT91X40X系列微控制器时,注意地址线A20复位后不得作为片选线(CS7)或PIO线。
A20是内部闪存的MSB(最高位)。
2.数据总线引脚
AT91X40X系列数据总线能够使用8-位或16-位模式,这依赖于片选线0(NCSO)的BMS引脚状态和其他所有片选线的EBI芯片选择寄存器的配置。
需要注意的是,AT91X40X系列微控制器的数据总线没有内部上拉或下拉电阻。
强烈建议你增加100KR左右的上拉或下拉电阻以防止外部干扰信号导致的未知动作和/或内部振荡器故障导致的VDDIO和VDDCORE的额外电流损耗。
AT91的EBI数据总线能够驱动的负载电容能够通过AT91EBI定时计算器应用笔记估算。
3.控制信号引脚
控制总线有以下几个模式读写线,片选线和字节选择线,他们使用户能够连接多种存储器和外围设备。
注意的是,依赖于微控制器的主时钟,必须NWR和NRD线可接受的最大负载电容在可接受的范围内。
过载的NWR和NRD线可以延长一些EBI延时,因而发生读或写访问不一致。
控制总线信号能够驱动的负载电容能够通过AT91EBI定时计算器应用笔记估算。
4.NWAIT引脚
在访问的任何时间或标准的等待状态不足够时NWAIT引脚能够增加读或写访问的额外的等待周期。
当NWAT引脚被检测到为低时,内核时钟停止并且EBI停止当前访问但不改变输出信号或内部计数器和状态。
当NWAIT引脚被重新释放后,内核时钟启动并且EBI结束访问操作。
NWAIT引脚输入低激活并且在主时钟的上升沿检测。
NWAIT输入信号仅仅能够在主时钟低阶段同步激活。
NWAIT信号在时钟的上升沿也必须保证设置时间和保持所需的时间匹配。
当设置和保持时间不匹配时,它可以立即冻结EBI信号到他们的活动状态(或甚至一些周期之后)并且保持这个状态直到执行硬件复位。
如果NWAIT引脚由像DSP或FPGA之类的外部器件驱动,用户必须保证当AT91微控制器上电时NWAIT引脚为高驱动。
如果NWAIT引脚未使用,必须增加一个100KR的上拉电阻。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Keil for arm 入门