ARM裸机程序笔记
- 格式:docx
- 大小:445.20 KB
- 文档页数:4
DSP+ARM+FPGA三核实验箱硬件资源详解目录1 实验箱简介 (2)2 软硬件参数 (6)3 开发资料 (11)4 电气特性 (12)5 实验箱机械尺寸 (13)6 实验箱组件 (13)7 技术支持 (14)附录A 开发例程 (15)1实验箱简介基于TI OMAP-L138(定点/浮点DSP C674x+ARM9)+ Xilinx Spartan-6 FPGA处理器;OMAP-L138与FPGA通过uPP、EMIFA、I2C总线连接,通信速度可高达228MByte/s; OMAP-L138主频456MHz,高达3648MIPS和2746MFLOPS的运算能力,具备SATA、EMIFA、uPP、USB 2.0等高速数据传输接口;FPGA兼容Xilinx Spartan-6 XC6SLX9/16/25/45,平台升级能力强;通过高低温测试认证,适合各种恶劣的工作环境;66mm*38.6mm,全国最小DSP+ARM+FPGA三核核心板,采用工业级B2B连接器; 可充放电池电路,提供多种标准工业接口,可连多通道AD、DA等模块,拓展能力强; 支持裸机、SYS/BIOS操作系统、Linux操作系统。
图 1图2图3图4图5图6图7TL138F-TEB是广州创龙一款基于TI OMAP-L138(定点/浮点DSP C674x+ARM9)+ Xilinx Spartan-6 FPGA三核心可拆式新型嵌入式教学实验箱,提供了丰富的教学实验例程,并提供视频教程,十分适合高校以及研究所等实验机构。
可拆式实验箱TL138F-TEB可以用于师生项目开发,相对传统的实验箱来说,使用更加灵活,性价比更高。
2软硬件参数硬件参数图8 SOM-TL138F硬件框图图9 Xilinx Spartan-6 FPGA特性参数图10 实验箱主板图11实验箱主板图12实验箱拓展板图13实验箱拓展板表1 实验箱主板硬件参数CPUTI OMAP-L138,浮点/定点DSP C674x+ARM9处理器,双核主频456MHzXilinx Spartan-6 XC6SLX9/16/25/45 FPGAROMOMAP-L138端:128/256/512MByte NAND FLASHSpartan-6端:64Mbit SPI FLASHRAM OMAP-L138端:128/256MByte DDR2EEPROM 1x AT24C02,256Byte连接器2x 80pin公座B2B,2x 80pin母座B2B,间距0.5mm,共320pin拓展IO 2x 25pin IDC3简易牛角座,间距2.54mm,EMIFA拓展信号2x 25pin IDC3简易牛角座,间距2.54mm,FPGA GPIO拓展信号2x 12pin排针,间距2.54mm,含McASP、GPIO等拓展信号3x 12pin PMOD座,FPGA GPIO拓展信号2x 48pin欧式公座连接器,FPGA GPIO拓展信号LED 2x 供电指示灯(底板1个,核心板1个)5x 可编程指示灯(底板3个,核心板2个)5x 可编程指示灯(底板3个,核心板2个)按键1x 系统复位按键3x 可编程输入按键(含1个非屏蔽中断按键)3x 可编程输入按键仿真器接口1x 14pin TI Rev B JTAG接口,间距2.54mm1x 14pin FPGA JTAG接口,间距2.0mm 显示1x LCD触摸屏接口启动方式接口1x 5bit启动方式选择拨码开关SD卡1x Micro SD卡接口RTC 1x CR1620,3V可充电RTCSATA 1x 7pin SATA硬盘接口网络1x RJ45以太网口,10/100M自适应USB接口1x Micro USB 2.0 OTG接口4x USB 1.1 HOST接口串口2x RS232串口,1x RS485串口(RS485和UART1复用),其中UART2使用Micro USB 接口,UART1使用DB9接口1x RS232串口,使用DB9接口电源开关1x 电源拨码开关电源接口1x12V 2A直流输入DC417电源接口,外径4.4mm,内径1.65mm拓展电源接口2x 2pin白色端子座,间距2.54mm,提供3.3V和5V电源备注:广州创龙SOM-TL138F、SOM-TL1808F、SOM-TL6748F核心板在硬件上pin to pin兼容。
ADS只是工作在PC机上的一个IDE,你可以用他来做一些裸机程序也可以编译Linux 系统,当然他还可以链接到Jlink做到很方便的调试,是ARM公司为ARM提供的一个集成开发环境,而arm-linux-gcc则是Linux系统的交叉编译器,你做PC程序编译出来的软件只能用在PC上,而在嵌入式系统上CPU架构不一样指令集不一样就需要一个运行在PC 上的编译器能编译出你嵌入式系统的程序,这个编译器就是arm-linux-gcc.
ADS或者Keil、IAR等多数是用来编写bootloader、或是uCOS这些嵌入系统的程序。
linux下的主要是GCC编程。
当然GCC也可以写ADS的东西。
感觉难度很高。
CES-6410教学平台简介■功能与特色:CES-6410教学平台采用三星公司最新ARM1176JZF-S内核CPU S3C6410设计而成,本教学平台基于目前使用本公司相关项目、客户反馈和各大高校用户广泛调研设计而成。
充分考虑国内外高校嵌入式实验室的实际情况,结合目前高校嵌入式教学的相关要求和社会实际要求设计而成。
目前,随着高端ARM11等CPU的不断推出,以往基于ARM9的嵌入式教学平台已很难满足电子通信行业高速发展,同时企业急需高素质的,具有产品经验的大学毕业生加入团队,而不仅仅略知嵌入式的毕业生。
基于此,本教学平台结合目前基于S3C6410开发的各种主流产品,集成了包括NETBOOK,EPC,MID,PMP,SMARTPHONE,GPS导航仪等几乎所有功能,为目前市面上最为强大的ARM高端教学平台。
本教学平台采用的三星S3C6410处理器,基于ARM1176JZF-S内核,包含16KB的指令数据Cache 和16KB的指令数据TCM,ARM Core电压为1.1V的时候,可以运行到533MHZ,在1.2V的情况下,可以运行到667MHZ。
最新三星已经可以提供800MHZ。
通过AXI,AHB和APB组成的64/32bit内部总线和外部模块相连。
支持常规的电源管理,系统外设,连接总线等功能,同时该芯片与以往芯片最大的区别除了内核外,在外围功能上增加了强大多媒体协处理器(Multimedia Acceleration),支持Mpeg4/H.263/H.264 的编码与译码,并支持VC1 译码。
支持2D,3D,JPEG图像处理,由于S3C6410卓越的性能,可以轻松的完成视频、图像处理,目前已广泛运用在各种高端新产品如:移动网络设备,3D 增强型多媒体手机,能够显示更加详细的图像(比如建筑,地界标志)的个人导航设备和下一代手持设备的研发中去;CES-6410教学平台充分考虑产品特性,主频为667/800MHZ,内存采用DDR SDRAM,达到256Mbytes,WI-FI模块和GPS模块等已在板上实现,基于全新7寸数字触摸屏,主板由核心板和扩展板构成,用户可以从本平台中吸取完整的产品信息,完全不同于一般意义的教学平台,可以轻松迅速定制出属于自己的产品。
计算机三级(嵌入式系统开发技术)机试模拟试卷106(题后含答案及解析)题型有:1. 选择题 2. 填空题 3. 综合题选择题1.属于ARM处理器特点的是( )。
①单周期操作②只使用加载/存储指令访问内存③三地址指令格式④指令流水线技术⑤低功耗设⑥采用RISC指令集结构A.①②④⑤B.②③④⑤C.②③④⑤⑥D.①②③④⑤⑥正确答案:D解析:ARM处理器特点包括单周期操作、只使用加载/存储指令访问内存、三地址指令格式、指令流水线技术、低功耗设计、采用RISC指令集结构。
故此题选择D。
2.以下关于ARM处理器工作状态说法错误的是( )。
A.工作状态包括ARM状态、Thumb及Thumb-2状态和调试状态三种B.ARM状态既支持16位指令宽度也支持32位指令宽度C.Thumb状态或Thumb一2状态下代码密度大于ARM状态,占用存储空间较小D.ARM处理器复位后总处于ARM状态正确答案:B解析:在ARM的体系结构中,处理器可以工作在3种不同的状态:①ARM 状态②Thumb状态及Thumb一2状态③调试状态。
除支持Thumb一2的ARM 处理器外,其他所有ARM处理器都可以工作在ARM状态。
ARM状态是ARM 处理器工作于32位指令的状态,所有指令均为32位宽度。
B选项叙述错误,故本题选择B。
3.ARM处理器在指令LDR R2,[R5,#2]!执行后,R5中的值为( )。
A.R5不变B.R5=R5+2C.R5=R2+2D.R5=2正确答案:B解析:LDR是存储器到寄存器的数据传送指令,#是立即数符号,题中是基址加变址寻址,表示[R5+2]→R2,执行过后,R5的值为R5+2。
故本题选择B。
4.在以下ARM处理器的指令操作码中可让寄存器R11中的指定位“置位”的指令操作码是( )。
A.MOVB.ANDC.ADDD.ORR正确答案:D解析:汇编中使用逻辑或指令和1进行或运算可以达到让寄存器中的指定位置位的作用,故本题选择D。
1、下载rzsz-3.48.tar.gz2、解压tar zxvf rzsz-3.48.tar.gz解压后的文件夹为scr进入scrcd scr3、修改交叉编译器vi MakefileCC = arm-linux-gcc编译 make posix4、把生成的可执行文件拷贝到文件系统的usr/bin下即可rb rc rx rz sb sx sz zcommand zcommandi5、重新制作yaffs2文件下载到板子即可mkyaffs2image fs.yaffs2 root_fs.bin传输文件到板子如下操作:[root@Timo /mnt]# rzrz ready. Type "sz file ..." to your modem programStarting zmodem transfer. Press Ctrl+C to cancel. Transferring S-Boot.bin...100% 15 KB 7 KB/s 00:00:02 0 Errors 妑z 3.48 01-27-98 finished.**** UNREGISTERED COPY *****Please read the License Agreement in rz.doc[root@Timo /mnt]# lsS-Boot.binQQ:917603226,danpianjikaifa@学习视频,电子元件选型指导,PLC 学习指导以及PLC 和DCS 周边产品开发韦东山老师的视频下载地址2440/file/f9beed69b0#.avi QQ:917603226/file/f9690fdc25#第2课QQ:917603226_GPIO实验.avi QQ:917603226/file/f91dd8f3b7#第3课QQ:917603226_存储管理器实验.aviQQ:917603226/file/f926fbcd6#第4课QQ:917603226_MMU实验.aviQQ:917603226/file/f98ccea8a4#第5课QQ:917603226_NAND_FLASH控制器.aviQQ:917603226/file/f9d6474d48#第6课QQ:917603226_中断控制器.aviQQ:917603226/file/f9657f8c96#.aviQQ:917603226/file/t9aa118d81#/file/t9e1c4044e#.aviQQ:917603226/file/t963cbbde3#第9课QQ:917603226第2节_u-boot分析之Makefile结构分析.aviQQ:917603226/file/t9de4dd17f#第9课QQ:917603226第3节_u-boot分析之源码第1阶段.aviQQ:917603226/file/t922115ff9#第9课QQ:917603226第3节_u-boot分析之源码第2阶段.aviQQ:917603226/file/t9114550f1#第9课QQ:917603226第4节_u-boot分析之u-boot命令实现.aviQQ:917603226/file/t99a6e0f29#第9课QQ:917603226第5节_u-boot分析_uboot启动内核.aviQQ:917603226/file/t9820a106e#第10课QQ:917603226第1节_内核启动流程分析之编译体验.aviQQ:917603226/file/t96fa8dc6f#第10课QQ:917603226第2节_内核启动流程分析之配置.aviQQ:917603226/file/t9aa094b45#第10课QQ:917603226第3节_内核启动流程分析之Makefile.aviQQ:917603226/file/t9f4a7ca84#第10课QQ:917603226第4节_内核启动流程分析之内核启动.aviQQ:917603226/file/t9dee089e3#第11课QQ:917603226第1节_构建根文件系统之启动第1个程序.aviQQ:917603226/file/t9d5172739#第11课QQ:917603226第2节_构建根文件系统之init进程分析.aviQQ:917603226/file/t9e7c46b97#第11课QQ:917603226第3节_构建根文件系统之busybox.aviQQ:917603226第 1 页/file/t921e24b83#.aviQQ:917603226/file/f5136718a8#动程序之概念介绍.aviQQ:917603226/file/f57b7907fe#动程序之LED驱动程序_编写编译.aviQQ:917603226 /file/f520effad5#第12课QQ:917603226第2.2节_字符设备驱动程序之LED驱动程序_测试改进.aviQQ:917603226 /file/f52e270acc#第12课QQ:917603226第2.3节_字符设备驱动程序之LED驱动程序_操作LED.aviQQ:917603226 /file/f51a13dc93#第12课QQ:917603226第3节_字符设备驱动程序之查询方式的按键驱第 2 页QQ:917603226,danpianjikaifa@学习视频,电子元件选型指导,PLC 学习指导以及PLC 和DCS 周边产品开发TQ2440开发大全下载linux-2.6.35.3在TQ2440上移植1--建立自己的板子.pdf/source/3227941linux在TQ2440上移植2--Nandflash驱动,MTD分区.pdf/source/3227943linux在TQ2440上移植3--yaffs2+文件系统移植.pdf/source/3227944linux在TQ2440上移植4--yaffs2文件系统制作.pdf/source/3227947linux在TQ2440上移植5--移植串口传输协议.pdf/source/3227948linux在TQ2440上移植6--完善串口驱动.pdf/source/3227950linux在TQ2440上移植7--完善实时时钟RTC.pdf/source/3227951linux在TQ2440上移植8--启动看门狗+.pdf/source/3227965linux在TQ2440上移植9--添加触摸屏.pdf/source/3227952linux在TQ2440上移植10--完善网卡驱动.pdf/source/3227955linux在TQ2440上移植11--完善声卡驱动.pdf/source/3227956linux在TQ2440上移植12--完善SDMMC卡驱动.pdf/source/3227958bootloader编写指南.pdf/source/3227040第 1 页U-boot1.1.6的移植step by step(TQ2440).pdf/source/3227044U-boot1[1][1][1].1.6的移植(TQ2440).pdf/source/3227049/source/3227049U-BOOT-2010.06移植到TQ2440.pdf/source/3227052uboot讲义.pdf/source/3227054uboot阶段1(汇编部分)详细分析.pdf/source/3227057uboot使用说明.pdf/source/3227058Uboot学习笔记.pdf/source/3227060U-boot源代码分析.pdf/source/3227062Uboot源码阅读笔记.pdf/source/3227064在uboot上制作logo的实验.ppt/source/3227067UBOOT之Makefile详解.doc/source/3227068基于TQ2440和Qt的Mp3设计.doc/source/3227074ARM9硬件接口学习之一_WatchDog.pdf/source/3229021ARM9硬件接口学习之二_RTC.pdf/source/3229025.第 2 页ARM9硬件接口学习之三_GPIO.pdf/source/3229026ARM9硬件接口学习之四_CLOCK.pdf/source/3229028ARM9硬件接口学习之五_UART.pdf/source/3229030tq2440ARM学习1/source/3229044ARM学习3流水灯实验.pdf/source/3229048ARM学习4在ADS1.2中新建自己的工程.pdf/source/3229051ARM学习5实现电子相框功能及LCD屏显试验中两个问题/source/3229053ARM学习6LCD屏显实现科比投篮的动画.pdf/source/3229057ARM学习7对于科比投篮实验的轨迹分析.pdf/source/3229058ARM学习8对于画线函数Glib_Line算法的研究.pdf/source/3229059ARM学习14S3C2440 IO口的总结.pdf/source/3229060[原创]自己动手编写嵌入式Bootloader之(1).pdf/source/3230747[原创]自己动手编写嵌入式Bootloader之(2).pdf/source/3230136[原创]自己动手编写嵌入式Bootloader之(3).pdf/source/3230137uC_OS-II实验指导书.pdf第 3 页/source/3231958Ucos_II2.52 源码中文译注.pdf/source/3231960UCOS-II API 参考手册.pdf/source/3231962第 4 页TQ2440裸机开发试验大全TQ2440裸机开发试验之ADC/source/3311703TQ2440裸机开发试验之ebook/source/3311704TQ2440裸机开发试验之interrupt/source/3311708TQ2440裸机开发试验之Mmu_Nand/source/3311761TQ2440裸机开发试验之Mmu_Nand/source/3311763TQ2440裸机开发试验之Nand_1/source/3311765TQ2440裸机开发试验之power_stop/source/3311770TQ2440裸机开发试验之PWM/source/3311772TQ2440裸机开发试验之RTC_LCD/source/3311777TQ2440裸机开发试验之Touch_Panel/source/3311778TQ2440裸机开发试验之UART/source/3311780TQ2440裸机开发试验之write_bios/source/3311783第1篇基础篇第1章Linux简介1.1 Linux系统概述1.2 Linux图形界面操作1.3 Linux字符界面操作1.4 Shell脚本编程基础第1章Linux简介.pdf/source/3312215新手学linux C编程第1章视频/v_show/id_XMjcwMDAxNjYw.html 第2章C语言基础2.1 C语言概述2.2 数据类型、运算符和表达式2.3 基本语句2.4 数组2.5 预处理第2章C语言基础.pdf/source/3312221新手学linux C编程第2章配套源码,可成功运行.rar /source/3312253新手学linux C编程第2章视频/v_show/id_XMjcwMDAxODY0.html第3章指针、函数及自定义数据类型3.1 指针.3.2 函数3.3 结构体、共用体和枚举第3章指针、函数及自定义数据类型.pdf/source/3312229新手学linux C编程第3章配套源码,可成功运行.rar /source/3312254新手学linux C编程第3章视频/v_show/id_XMjcwMDAyMTAw.html第4章数据结构4.1 线性表4.2 栈4.3 队列4.4 二叉树4.5 查找4.6 排序第4章数据结构.pdf/source/3312230新手学linux C编程第4章配套源码,可成功运行.rar /source/3312255第5章文本编辑器5.1 vi编辑器的基本使用5.2 vi编辑器之程序编辑5.3 emacs编辑器的基本使用第5章文本编辑器.pdf/source/3312231新手学linux C编程第5章视频/v_show/id_XMjcwMDA0ODI4.html第6章GCC编译器6.1 GCC简介6.2 GCC的安装6.3 GCC常用选项第6章GCC编译器.pdf/source/3312234新手学linux C编程第6章配套源码,可成功运行.rar /source/3312256新手学linux C编程第6章视频/v_show/id_XMjcwMDA1OTA4.html第7章调试工具7.1 GDB简介及安装7.2 GDB常用命令7.3 GDB调试实例第7章调试工具.pdf/source/3312235新手学linux C编程第7章视频/v_show/id_XMjcwMDA2MDI0.html第9章LinuxC基本应用9.1 字符串操作9.2 数据转换9.3 内存分配与释放9.4 时间和日期9.5 其他应用第9章Linux C基本应用.pdf/source/3312239新手学linux C编程第9章视频/v_show/id_XMjcwMDA2Mjk2.html第10章文件系统缔程10.1 Linux文件系统简介10.2 文件的基本操作10.3 文件的属性10.4 目录文件的操作第10章文件系统编程.pdf/source/3312240新手学linux C编程第10章配套源码,可成功运行.rar /source/3312260新手学linux C编程第10章视频/v_show/id_XMjcwMDA2NDMy.html第11章标准输入输出11.1 标准输入输出的基本操作11.2 非格式化输入输出11.3 格式化输入输出第11章标准输入输出.pdf/source/3312242新手学linux C编程第11章配套源码,可成功运行.rar /source/3312261新手学linux C编程第11章视频/v_show/id_XMjcwMDA2NTYw.html第12章进程操作12.1 进程的概念12.2 Linux进程12.3 进程创建与控制12.4 守护进程第12章进程操作.pdf/source/3312246新手学linux C编程第12章配套源码,可成功运行.rar /source/3312263第13章进程间通信13.1 管道13.2 信号13.3 消息队列13.4 信号量13.5 共享内存第13章进程间通信.pdf/source/3312247新手学linux C编程第13章配套源码,可成功运行.rar /source/3312266新手学linux C编程第13章视频/v_show/id_XMjcwMDA3NDU2.html第14章多线程编程14.1 线程的基本概念14.2 线程的基本操作14.3 线程的同步第14章多线程编程.pdf/source/3312248新手学linux C编程第14章配套源码,可成功运行.rar /source/3312268新手学linux C编程第14章视频/v_show/id_XMjcwMDA3NTU2.html第15章网络编程15.1 网络基础知识15.2 套接字编程基础15.3 服务器模型15.4 域名系统第15章网络编程.pdf/source/3312249新手学linux C编程第15章配套源码,可成功运行.rar /source/3312269新手学linux C编程第15章视频/v_show/id_XMjcwMDA4ODky.html第16章Linux GUI编程16.1 GTK+/Gnome开发简介16.2 常用GTK+构件16.3 GUI生成器Glade第16章Linux GUI编程.pdf/source/3312250新手学linux C编程第16章配套源码,可成功运行.rar/source/3312270新手学linux C编程第16章视频/v_show/id_XMjcwMDA5MTAw.html第17章案例1:Linux命令实现17.1 功能与参数介绍17.2 主函数代码分析17.3 其他函数代码分析第17章案例1:Linux命令实现.pdf/source/3312251新手学linux C编程第17章配套源码,可成功运行.rar /source/3312271新手学linux C编程第17章视频/v_show/id_XMjcwMDA5MjI4.html第18章案例2:客户端/服务器端程序18.1 服务器端程序设计18.2 客户端程序设计第18章案例2:客户端.pdf/source/3312252新手学linux C编程第18章配套源码,可成功运行.rar /source/3312273新手学linux C编程第18章视频/v_show/id_XMjcwMDA5Mzc2.htmlallegro使用经验大全allegro16[1].3版之建立板框(很精彩的图文解释).pdf/source/3313999allogro布线及检查规则设置.pdf/source/3314028allegro中怎么样画原形的板框!.pdf/source/3314027Allegro中如何导入DXF文件.pdf/source/3314024Allegro中丝印及文字的调整管理技巧.pdf/source/3314025allegro怎么样复制板框到另外一块中.pdf/source/3314022Allegro修改元件封装管脚序号.pdf/source/3314020allegro导出dxf文件的方法与步骤.pdf/source/3314018allegro板框设置方法.pdf/source/3314015Allegro 电源,地层分割方法.pdf/source/3314011allegro 导入DXF时/source/3314009allegro allegro使用汇总.pdf/source/3314001怎样在ALLEGRO PCB中修改Net及添加Net.pdf/source/3314037在用ALLEGRO自作PCB时出现过过孔上焊盘而不报错的现象.pdf /source/3314034如何在allegro中更换元件封装.pdf/source/3314032如何看到pin number,并修改它.pdf/source/3314030Cadence中的allegro软件的sub-drawing的用法.pdf/source/3314029allogro布线及检查规则设置.pdf/source/3314028第 1 页做C++的朋友过来看看了啊WINDOWS核心编程.rar/source/3314308vs2008中文教程.rar/source/3314303Visual C++技术内幕第5版.rar/source/3314299MFC深入浅出.rar/source/3314291C++高级参考手册/source/3314289C++Primer第四版中文版(电子版).rar/source/3314286C#完全手册.pdf/source/3314282第 1 页(VB精彩应用之实例001)仿瑞星小狮子界面.rar/source/3321477(VB精彩应用之实例002)控制其他程序成为自己的子窗体.rar/source/3321478(VB精彩应用之实例003)在任务栏上加上程序图标.rar/source/3321479(VB精彩应用之实例004)获取运行程序(控件)名称和内容.rar/source/3321481(VB精彩应用之实例005)锁住Windows直到输入正确的口令.rar/source/3321483(VB精彩应用之实例006)禁止创建快捷方式出现“快捷方式”四个字.rar /source/3321484(VB精彩应用之实例007)更改墙纸显示方式.rar/source/3321486(VB精彩应用之实例008)在任务栏中禁用右键快捷菜单.rar/source/3321488(VB精彩应用之实例009)判断桌面大小.rar/source/3321492(VB精彩应用之实例010)改变Windows图标大小.rar/source/3321495(VB精彩应用之实例011)修改桌面图标背景.rar/source/3321496(VB精彩应用之实例012)动态卷帘式窗体演示.rar/source/3321498(VB精彩应用之实例013)自动更换墙纸.rar/source/3321499(VB精彩应用之实例014)设置窗口在屏幕中的位置.rar/source/3321501(VB精彩应用之实例015)设置窗口置前、置后.rar/source/3321502VB精彩应用之实例016)闪烁窗体标题栏.rar/source/3321504VB精彩应用之实例017)智能窗体放大器.rar/source/3321505(VB精彩应用之实例019)椭圆形窗体.rar/source/3321509(VB精彩应用之实例020)透明窗体.rar/source/3321510(VB精彩应用之实例021)透明窗体动画.rar/source/3321512(VB精彩应用之实例022)动态半透明窗体.rar/source/3321513(VB精彩应用之实例023)关于窗体.rar/source/3321514(VB精彩应用之实例024)MDI窗体.rar/source/3321515(VB精彩应用之实例025)背景渐变的窗体.rar第 1 页/source/3321516(VB精彩应用之实例026)窗体动态形状转换.rar/source/3321517(VB精彩应用之实例027)关闭窗口前提示.rar/source/3321518(实例028)窗体文字效果.rar/source/3321520VB精彩应用之实例029)鼠标右键弹出菜单.rar/source/3321521(VB精彩应用之实例030)带图标的菜单.rar/source/3321522(VB精彩应用之实例032)屏蔽关闭、最大化、最小化按钮.rar /source/3321524(VB精彩应用之实例033)显示多列菜单.rar/source/3321525(VB精彩应用之实例034)List列表拒绝添加重复信息.rar/source/3321527(VB精彩应用之实例035)控件大小随窗体的改变而改变.rar /source/3321530VB精彩应用之实例036)在TextBox中设置新的系统功能菜单.rar /source/3321531(VB精彩应用之实例037)动态改变控件尺寸.rar/source/3321532(VB精彩应用之实例038)程序运行时智能增减控件.rar/source/3321533第 2 页。
DS-5环境下编译器的导入
目录
1. 编译工具介绍 (3)
2. 编译工具的导入 (3)
1.编译工具介绍
说起ARM开发,不得不说的就是编译工具了。
ARM官方的编译工具是ARM Compilers,包括ARM Compiler 5和ARM Compiler 6,DS-5开发软件已包含此编译工具。
DS-5开发环境除了支持官方的编译工具,还支持GUN的Linaro GCC Compiler编译器。
以下是关于所支持编译器的比较:
在开发过程中,可能会遇到其他一些GUN的编译器(例如arm-none-linux-gnueabi-gcc),虽然DS-5开发环境支持此类编译工具,但是在安装完成的DS-5软件中并没找到此编译器。
此时就需要编译工具的导入操作。
2.编译工具的导入
arm-none-linux-gnueabi-gcc是Codesourcery公司(目前已经被Mentor收购)基于GCC 推出的的ARM交叉编译工具。
可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。
首先需要下载相应的编译工具的安装文件。
示例的工具可以在Mentor的官网进行下载。
双击安装文件进行安装。
安装完成后,打开DS-5开发环境,在Window菜单下选择Preferences:
打开其中的DS-5下的Toolchains:
点击A dd…,选择刚才安装的路径:
点击NEXT:
点击Finish:
点击Apply,Eclipse会重启。
重启之后,修改生效,您可以在工程的编译工具配置选项中找到该编译工具:。
Zynq启动流程前⾔Zynq启动流程和ARM处理器类似,PS部分是启动和配置过程的主设备,芯⽚引导必须由处理器驱动,系统上电复位后会读取设备模式引脚来决定从什么设备启动芯⽚。
如下表Boot Devices条⽬所⽰,其中黄⾊代表该条⽬下的默认设置,⽐如Boot Devices默认设置是SD Card,默认从SD卡启动芯⽚下图中的JP7-JP11的5个条线帽就是⽤于设置设备模式引脚电平的启动步骤PS确定好从什么设备启动后,接着的启动过程分为以下三个阶段0. Stage-0 执⾏BootROM代码,不可修改1. Stage-1 执⾏FSBL(first boot loader)代码,⽤户可修改。
如果是裸机程序也可以不需要这个阶段直接跳到下⼀阶段。
2. Stage-2 执⾏⽤户裸机程序或者操作系统的启动引导程序SSBL(second boot loader)关于BootROM:位于Zynq⽚内,功能是初始化L1 cache和基本的总线系统,以及从指定的外部存储器加载Stage-1的FSBL代码到⽚内存储器(OCM)。
但是要使Stage-0之后的代码被Stage-0的BootROM识别,还需要为Stage-0之后的代码(可能是Stage-1的FSBL,也可能是Stage-2的裸机程序,因为没有调⽤BSP函数的裸机程序是可以不需要FSBL的)添加⼀个头部,制作成引导镜像。
可以使⽤SDK的BootGen⼯具为裸机程序elf⽂件创建引导镜像Boot.bin,将其复制到SD卡中,并且设置板⼦从SD卡启动就可以执⾏程序。
使⽤SDK⼯具创建SD卡启动镜像BOOT.BIN= f(FSBL.elf+PL.bit+PS.elf)PL.b it和PS.e lf采⽤中⽣成的PL.bit和PS.elf。
制作F SB L.e lf 新建Zynq FSBL⼯程等待⼯程建⽴完毕,FSBL.elf就在⼯程⽂件夹的Debug⽂件夹下制作B OOT.B I N使⽤SDK的Create Boot Image选择好output路径放置⽣成的BOOT.BIN和output.bif。
ARM裸机程序设计
S3C2440系统时钟设置
步骤:
1.确认外部输入晶振频率
2.确认系统输出时钟频率FCLK
3.对照PLL值推荐参数表,找到适合的一组MDIV、PDIV和SDIV设置MPLLCON
4.设置UPLLCON
5.确定FCLK、HCLK、PCLK比例系数,设置时钟分频系数寄存器CLUDIVN,从而确
定了当前系统下FCLK、HCLK、PCLK具体频率值
UART设置
S3C2440的UART寄存器
UART行控制器ULCONn
UART模式控制寄存器UCONn
UART FIFO控制寄存器UFCONn
UART MODEM控制寄存器UMCONn
UART状态寄存器UTRSTATn
发送缓冲寄存器UTXHn
接收缓冲寄存器URXHn
波特率除数因子寄存器UBRDIVn
UBRDIVn寄存器:设置波特率
在UART模块中有三个UART波特率除数因子寄存器UBRDIV0,UBRDIV1,UBRDIV2,存储在波特率除数寄存器UBRDIVn中的值用于决定波特率,如下:
UBRDIVn= (int)(UARTClock /(buadrate*16))-1
例如如果波特率为115200bps且UART时钟为40MHz,
UBRDIVn=(int)(40000000/(115200*16))-1
=(int)21.7-1
= 22-1=21
ULCONn寄存器:设置传输格式
该寄存器用于选择UART时钟源、设置UART中断方式等。
详见S3C2440A芯片手册。
UTRSTATn寄存器
UTRSTATn寄存器用来表明数据是否已经被发送完毕、是否已经接收到数据
UTXHn寄存器:
SOC将数据写入这个寄存器,UART会将它保存到发送移位寄存器中,并自动发送出去。
URXHn寄存器:
当UART收到数据时,SOC读取这个寄存器,即可获得数据。
UART初始化程序:。