华清远见嵌入式Linux实验指导书(2017版)

所需积分/C币:49 2018-03-12 15:43:11 4.5MB PDF
收藏 收藏 2
举报

华清远见嵌入式Linux实验指导书2017版,基于A9实验箱,课程安排和实验步骤可以在其他版本的实验板上实现。后续还会持续更新!
实验一GP0接口与LED控制实验 实验目的】 1、熟悉ARM体系结构与接口编程半台 Eclipse相关软件的使用; 2、了解GPI0接口的编程方法 3、熟悉ARM编程的基本沇程。 实验原理】 华清远见 ARM Cortex a9rS4412开发平台(下文简称rS442)是由华清远见研发中心专为培训教学 和项目饼发定制的高性能的 ARM Cortex-A9廾发平台。FS442用三星 ARM EXVIOS4412四核处理器, 运行主频可高达1.5H,对比一代的双核处理器,四核能提供翻倍的处理能力以及减半的功耗,这也 为精细的显示效果、1080P拍摄及播放、以及各方面的超高流畅度运行莫定了基础。FS4412提供了丰富 的板载资源以及扩展接口,配合华清远见硏发中心开发的FS- JTAG Cortex-A8/A9仿真器,可以实现接近 AM官方仿貞器的功能。 FS-JTAG支持 Windows XP/7/8/8.132bit/64bit全系列 Windows平台,而且仿 真器使用仝套开源软件廾发坏境,IDE为使用相当广泛的 Eclipse,廾发者可以轻易上手;编译器则使用 GNU GCC,代码可以和 Linux下的代码实现无缂布接。 GP|O功能介绍 首先应该理解什么是GPIO,GPIO的英文全称为 General- Purpose io ports,也就是通用IO接口。在 嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设各电路,有的需要CPU 为之提供控制手段,有的则需要被CPU用做输入信号。而且,许多这样的设备/电路只要求·位,即只要 有开关两种状态就够了。比如,控制个LED灯亮与灭,或者通过获取某个引脚的电平属性来达到判断 外围设备的状态。对这些设备/电路的控制,使用传统的串行凵或并行口都不合适。所以在微控制器芯片 上一般都会提供一个“通用可编程IO接口”’,即GP○。接口全少有两个寄存器,即“通用IO控制寄存 器”与“通用IO数据寄存器”。数据寄存器的各位都直接引到芯片外部,而对这和寄存器中每一位的作 用,即每·位的信号沇通方向,则可以通过控制寄存器中对应位独立地加以设置。比如,可以设置某个 引脚的属性为输入、输岀或其他特殊功能。 在实际的MCU中,GPIO是有多种形式的。比如,有的数据寄存器可以按照位寻址,有些却不能按 照位寻址,这在编程时就要区分」。比如传统的8051系列,就区分成可位寻址和不可位寻址两种寄存器。 另外,为了使用的方便,很多MCU的GPIO接口除必须具备两个标准寄存器外,还提供上拉寄存器,可 以设置IO的输岀模式是晑阻,还是带上拉的电平输岀,或者不带上拉的电平输出。这在电路设计中,外 围电路就可以简化不少 Exynos4412芯片的GP|o控制器详解 特性 Expose4412的GPIO特性包括如下几点 (1)304个多功能输入输出GPIO (2)37组通用GPO和2组 memory GPIO。 GPIo分组预览 (1) GPAO, GPA1: 14 in/out ports-3XUART with flow control, UART without flow control, and/ or 2x12C (2) GPB: 8 in/out ports-2X SPl and/or 2x12C and/or lEM (3) GPCO, GPC1: 10 in/out ports-2xl2S, and/or 2xPCM, and/ or AC97, SPDIF, 12C, and/ or SPl (4) GPDO, GPD1: 8 in/out ports-PWM, 2x12C, and /or LCD l/E, MIP (5) GPMO, GPM1, GPM2, GPM3, GPM4: 35 in/out ports-CAM I/ E, and/or TS l/E, HSI, and/or Trace (6) GPFO, GPF1, GPF2, GPF3: 30 in/out ports-LCD I/F (7) GPJO, GPJ1: 13 in/out ports-CAM y/F (8) GPKO, GPK1, GPK2, GPK3: 28 in/out ports- 4x MMC(4-bit MMC), and/ or 2x MMC (8-bit mMC)), and or gpS debugging l/F (9) GPLO, GPL1: 11 in/out ports-GPS I/F (10) GPL2: 8 in/out ports- GPS debugging l/ f or key pad I/F (11) GPXO, GPX1, GPX2, GPX3: 32 in/out ports-External wake-up, and/ or Key pad I/F Exynos4412的GPo常用寄存器分类 (1)端口控制寄存器(GPA0 ON-GPZCON) 在 Exynos4412中,人多数的引脚都可复用,所以必须对每个引脚进行配置。端口控制寄存器 ( GPnCon)定义了每个引脚的功能 (2)端∏数据寄存器( GPAODAT-GPZDAT) 如果端口被軋置成了输岀端口,可以向 GPnDAt的相应位写数据。如果端口被配置成了输入端口, 可以从 GPnDat的相应位读出数据。 (3)端口上拉寄存器( GPAOPUD- GPZPUD) 端口上拉寄存器控制了每个端口组的上拉/拉电阻的使能禁止。根据对应位的0组组合,设置对 应端∏的上拉/下拉电阻功能是否使能。如果端∏的上拉电阻被使能,无论在哪那种状态(输入、输出、 DATAn、 EINTn等)下,上拉电阻都起作用。 (4)驱动能力寄存器( GPAODRV-GPZDRV) 设置GPIO口的驱动能力。 GPIO功能描述 GPIO功能概括图如图所示。 寄存器 多路控制 Pad控制 APB总线 APEB接口 扩展中断控制 中断 控制 APE总线 异步接口 多路控制 Pa控制 寄存器 扩展中断控制→安柱把 当前活动部分 图GPO功能概括图 GPIO数据寄存器 GPIO数据寄存器如表所示。 表GPF3DAT数据寄存器(可读可写 Address=0x1140F4) GPF3DAT 位 描述 初始状态 GPF3DAT5 该寄存器决定了输入或者输出的电平状 0x00 Exynos4412I/O接口常用寄存器详解 对于GPO控制寄存器,现在米看一下每一组IO的详细功能描述,考虑到GPO的寄存器很多,这 甲只列出与后面GPIO示例有关的寄存器,如表所示。 表GPF3CON控制寄存器(可读河可写 Address=0x11400x01E0 GPC3CON 位 描述 初始状态 GPF3C 23:20 0x0= Input Oxl=Output. 0x2= SYS OE 0N[5 0x3 to OxE= Reserve OxF=EXT INT16[5] 0000 GPF319:16 0x0 Input Ox1= Output Ox2= VSYNC LDI ON[4 Ox3 to OxE= Reserved OxF= EXT INT16[4] 0000 GPF3C 0x0 - Input 0x1-Outpu 0x2- LCD VD [23] 0000 on[3 15:12 Ox3 to OxE= Reserved OxF= EXT INT16 3 GPF3C 0x0- Input 0x1-Output 0x2- LCD VD[22 0000 N[2 11:8] 0x3 to OxF= Reserved OxF= EXT INT16 21 GPF3C 0x0= Input 0x1= Output 0x2= LCD VD [21] 0000 ON1 7:4] Ox3 to OxE= Reserved OxF= EXT INT16[11 GPF3C )x0- Input Ox1- Output 0x2- LCD VD 201 Ox to OxF= Reserved OxF EXT INT16LO 0000 ONlO 3:0] 实验分析】 O2、如图所小,LED2~LED5分别与GPX27、GPX1_0、GPF34、GP35相连,通过GPX27、GPX10 34、GiPF35引脚的高低电平来控制三极管的导通性,从而控制LFD的亮灭, R113 GPX2 7 CHG COK Q3 LED2 BLU MMBT390 CHG FLT >X R11610K1 Q8 LED3 BLU MMBT3904 R11 G2F3 4 LED4 BLU XWVSYNC LD MMBT3904 D R1 GPF3 5 XySYS OE R123 10K1 Q10 LED5 BLUE MMBT3904 图LED接线原理图 根据三极管的特性,当这几个引脚输出高电平时,集电极和发射极导通,发光二极管点亮;反之 发光二极管熄火 通过控制GPX1CON、GPX2CON、GPF3CON和GPX1DAT来控制GPX23和GPF34对应的LED 6.2.3.198 GPX1CON Base Address: Ox1100 0000 Address= Base Address x0c20 Reset value 0x0000 0000 OxO= Input Ox1= Output 0x2= Reserved GPXICON[O 30 RW|0x= KP_COL四 0x00 0x4= Reserved Ox5=ALV_DBG(4] Ox6 to OxE= Reserved OxF WAKEUP_INT1[O 6.2.3.199 GPX1DAT Base Address: Ox1100 0000 Address Base Address +0x0C24 Reset Value=0x00 Name Bit T Description Reset Value When you configure port as input port then corresponding bit is pin state. When configuring as GPX1DAT(: 01 [7:0] RwX output port then pin state should be same as corresponding bit. when the port is configured functional pin. the undefined value will be read 62.3.202GPx2coN Base Address: 0x1100 0000 Address Base Address +0x0C40 Reset Value =0x0000 0000 Bit T Description Reset value 0x0= In Ox1=Outp 0x2= Reserved GPX2CON7 13128Rw 0x3= KP ROW团 0x00 0x4= Reserved 0x5=ALV_DBG[19] Ox6 to OxE Reserved OxF=WAKEUP_INT2[7 6.2.3.203 GPX2DAT Base Address: Ox1100 0000 Address= Base Address +0x0C44, Reset Value= 0x00 Name Bit Description Reset Value When you configure port as input port then orresponding bit is pin state. When configuring GPX2DAT[7: 0 70 RWX output port then pin state should be same as 0x00 corresponding bit. when the port is configured as functional pin, the undefined value will be read. 寄存器设置 为了实现控制LFD的目的,需要通过配置GP1CON、GPX2CON、GPF3C0N寄存器将GPX27、 GPX10、GPF34、GPF35设置为输出属性。通过设置对应的DAT寄存器实现点亮与熄火LED。 对于本例来说,各个GPIO的上拉寄存器可以不用设置。 程序代码 #include " exynos 4412. h 4/***米****冰***冰***冰**水冰***率冰****米*****冰*冰冰**** 5*@brief mydelay ms program body @param[in] int(ms) @return None 8*米米*米****米x来冰冰米米*** 米x冰米米米冰米x冰水米米*米米冰米米半米x冰*米米米x米米米冰米米米米* ovoid mydelay_ ms(int ms) 10 1 int i, j; while(ms--) for (i i<5;i+) for(j=8;j<514:j++) 17} 19/*--------------- MAIN FUNC TION----------- 木本本木水本本木本*木水水本木木木水*水本本木水水本木木木水水本本木木木水水本水本本水水水水木本本木不水本本木本水冰水水木本本本本水水 21* abrief Main program bod 22*@param[in] None 23* @return int 24******※*********冰********冰**** 25 int main(void) 26{ 27 *Config 31 GPX2 CON=(GPX2 CON&-(0xf<<28))1 1<<28; //GPX2_7: output, LED2 GPX1 CON=(GPX1 CON M(Oxf)) 1;//GPX1 0: output, LED3 33GP3C0N=(GPX3.CN&(0×f<<16|8xf<28))|(1<16|1<<20);/GPF34: output,LED4 //GPF3 5: output, LED5 While(1) 37 //Turn on LED2 GPX2.DAT|=8×1<7; mydelay ms(500); 41 42 //Turn on LED3 GPX1 DAT=0Xl 44 //Turn off LED2 45 GPX2DAT&=~(0X1<<7) mydelay_ ms(500); //Turn on LED5 GPF3.DAT|=(8x1<<5); //Turn off LED3 GPX1dat &=wox1; delay ms(500); //Turn on LED4 GPF3. DAT=(0x1 < 4) //Turn off LEDS GPF3.DAT&=~(0X1<<5); mydelay ms(500); //Turn off LED4 GPF3.DAT&=~(8X1<<4); return 0 实验步骤】 源代码 拷贝D:\hayj\华清远见嵌入式ARM实验箱资料-Ⅰ实验代码\1.ARM体系结构与接口技术部分实 验代码04ed到 eclipse工作目录D:\ eclipse projects(ARM)中 操作步骤 1.打开 Eclipse开发工具,在 Project Explorer中添加LED工程 (注意:工程要放在英文路径下,不能有中文路径) 如图所示,在 Project Explorer窗口中右击鼠标,选择“ Import.”,如下图所示 ≥CC++- Eclipse File Edit Source Refactor Navigate Search Project Run Window Help TA Project Explorer 日|可 New 2 Import. A Export 9 Refresh 在 Project Explorer窗口中右击鼠标 选择“ Import.”后,出现如下图所小的窗口,选中“ Existing Projects Into Workpace”然后点 击“Ne e Import Sele Create new projects from an archive file or directory. Select an import source type filter text 4 General Archive file L' Existing Projects into Workspace File Syste y em 三 Preferences D色CC b CVS D② Tasks d Team Back Next Finish Cancel 选择“Next”后出现如下窗口,点击“ Browse..”出现“浏览文件夹”窗口,在“浏览文件夹” 窗口中选中实验“04-1ed”后点击“确定” ● Import 回区浏览文件夹 Import Projects Select root directory of the project Select a directory to search for existing Eclipse projects 家庭组 o Select root directory Browse BIt 计算机 O Select archive file Browse D盘本地磁盘(C) rojects d本地磁盘(D) DU9360Downloads Select All b Android eclipse Deselect A‖l BaiduYun Download Refresh I crystalreportviewers12 eclipse projects D FS210 a Copy projects into workspace 1 01-add asm 02-cd Working sets D03-sum D Add project to working sets 04-ed Work Select 点击“确定”后出现如下所示窗口,直接点击“ Finish”即可。 Imp Import Projects Select a directory to search for existing Eclipse projects. o Select root directory: D: eclipse_projects\FS4412\04-led Browse O Select archive file Browse ojects E 1.LED_GPIO(D: eclipse_projects\ FS4412\04-led Select all Deselect Al Refresh □C。 py projects into workspace ng D Add project to working sets Working sets Select s Back Next Finish ncel 添加成功后可以在“ Project Explorer”中看到“04ld-ram”工程成功导入。 Project Exp x D L 1.LED- GPIO L LED GPIO/main.c File Edit Source Refactor Navigate Search Project Run Window Help r·园|b·的,,⑥·《,图,彰·0·囚,,國卻国面卷 LO Project Explorer E3 c main. c 23 I 1.LED_GPIO debrief This example describes how to use GPIo to drive LEDs edate 02.June,2014 Author11u-hCfarsight.com.cn start recontactUs:http://dev.hqy.com cma copyright(C)2014,点苏 国 Exynos4412nt include exymos 4412h _gpIO.e naIn, c br⊥ef mydelay ms program body px9mIn](m票) 国 map. lds Return None while(ms--) 小技巧:导入的工程不用时可以 Close project,下次使用时再 Open project,同时只能有一个工程 是打开的。这样做的好处是:不用每次重新配置。

...展开详情
试读 86P 华清远见嵌入式Linux实验指导书(2017版)
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    华清远见嵌入式Linux实验指导书(2017版) 49积分/C币 立即下载
    1/86
    华清远见嵌入式Linux实验指导书(2017版)第1页
    华清远见嵌入式Linux实验指导书(2017版)第2页
    华清远见嵌入式Linux实验指导书(2017版)第3页
    华清远见嵌入式Linux实验指导书(2017版)第4页
    华清远见嵌入式Linux实验指导书(2017版)第5页
    华清远见嵌入式Linux实验指导书(2017版)第6页
    华清远见嵌入式Linux实验指导书(2017版)第7页
    华清远见嵌入式Linux实验指导书(2017版)第8页
    华清远见嵌入式Linux实验指导书(2017版)第9页
    华清远见嵌入式Linux实验指导书(2017版)第10页
    华清远见嵌入式Linux实验指导书(2017版)第11页
    华清远见嵌入式Linux实验指导书(2017版)第12页
    华清远见嵌入式Linux实验指导书(2017版)第13页
    华清远见嵌入式Linux实验指导书(2017版)第14页
    华清远见嵌入式Linux实验指导书(2017版)第15页
    华清远见嵌入式Linux实验指导书(2017版)第16页
    华清远见嵌入式Linux实验指导书(2017版)第17页
    华清远见嵌入式Linux实验指导书(2017版)第18页
    华清远见嵌入式Linux实验指导书(2017版)第19页
    华清远见嵌入式Linux实验指导书(2017版)第20页

    试读已结束,剩余66页未读...

    49积分/C币 立即下载 >