当前位置: 首页 > news >正文

河南省电力工程建设企业协会网站推广网站都有哪些

河南省电力工程建设企业协会网站,推广网站都有哪些,企帮手logo设计官网,宣传推广方式01. 汇编LED驱动实验 汇编原理分析为什么要学习Cortex—A汇编STM32IO初始化流程IMX6UL初始化流程 汇编基础处理器内部数据传输指令存储器访问指令 编写驱动编译程序烧写bin文件 汇编原理分析 为什么要学习Cortex—A汇编 需要用汇编初始化一些SOC外设使用汇编初始化DDR#x… 01. 汇编LED驱动实验 汇编原理分析为什么要学习Cortex—A汇编STM32IO初始化流程IMX6UL初始化流程 汇编基础处理器内部数据传输指令存储器访问指令 编写驱动编译程序烧写bin文件 汇编原理分析 为什么要学习Cortex—A汇编 需要用汇编初始化一些SOC外设使用汇编初始化DDRI.MX6U不需要设置SP指针一般指向DDR设置好C语言运行环境 ALPHA开发板LED原理图 而LED0是接在GPIO1_3下面一个LED灯是电源指示灯 STM32IO初始化流程 使能GPIO时钟设置IO复用将其复用为GPIO配置GPIO电气属性使用GPIO输出高低电平 IMX6UL初始化流程 使能时钟CCGR0-CCGR6这七个寄存器控制着6ULL所有外设时钟的使能。为了简单将这七个寄存器全部设置为0xffffffff相当于使能所有外设时钟IO复用寄存器IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03。这个寄存器的0-3位是复用位将这4位设置为0101这样就是复用为GPIO 配置电气属性寄存器IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03是设置电气属性包括压摆率、速度、驱动能力、开漏、上下拉等。 配置GPIO功能设置输入输出。设置GPIO1_GDIR寄存器设置GPIO1_IO03为输出也就是为1设置GPIO1_DR数据寄存器的bit3为1表示输出高电平。 汇编基础 处理器内部数据传输指令 mov指令 用于将数据从一个寄存器拷贝到另一个寄存器或者将一个立即数传递到寄存器里面 mov R0, R1 将寄存器R1中的数据传递给R0 mov R0, #0x12 将立即数0x12传递给R0寄存器mrs指令 用于将特殊寄存器如CPSR和SPSR中的数据传递给通用寄存器 mrs R0, CPSRmsr指令 将普通寄存器的数据传递给特殊寄存器 msr CPSR, R0存储器访问指令 ARM不能直接访问存储器比如RAM中的数据。I.MX6UL中的寄存器就是RAM类型的我们用汇编来配置时许哟啊借助寄存器访问指令一般先要将要配置的值写入到Rx(x0~12)寄存器中然后借助存储器访问指令将Rx中的数据写入到I.MX6UL寄存器中读取也是一样的。 LDR指令 用于从存储器加载数据到寄存器Rx中也可以将一个立即数加载到寄存器中加载立即数时需要用而不是#。 上述代码的offset是0STR指令 将数据写入到存储器中 编写驱动 .global _start 全局标号_start是程序的入口_start:/* 使能所有外设时钟 */ldr r0, 0x020c4068 CCGR0的地址ldr r1, 0xffffffff 要向CCGR0写入的数据str r1, [r0] 将r1写入到r0中ldr r0, 0x020c406cstr r1, [r0]ldr r0, 0x020c4070str r1, [r0]ldr r0, 0x020c4074str r1, [r0]ldr r0, 0x020c4078str r1, [r0]ldr r0, 0x020c407cstr r1, [r0]ldr r0, 0x020c4080str r1, [r0]ldr r0, 0x020c4084str r1, [r0]/* 配置GPIO1_IO03的复用为GPIO也就是设置为5 */ldr r0, 0x020e0068 地址ldr r1, 0x05str r1, [r0] /* 配置GPIO1_IO03的电器属性地址是0x020e02f4*bit0: 0低速率*bit5:3: 110 R0/6驱动能力*bit7:6: 10 100MHz速度*bit11: 0关闭开路输出*bit12: 1 使能pull/kepper*bit13: 0 kepper*bit15:14: 00 100k下拉*bit16: 0 关闭hys*/ldr r0, 0x020e02f4 地址ldr r1, 0x10b0str r1, [r0] /* 设置GPIO1_GDIR寄存器设置GPIO_GPIO03为输出 */ldr r0, 0x0209c004ldr r1, 0x08str r1, [r0] /* 打开LED也就是设置GPIO_IO03为低电平*GPIO_DR的地址为0x0209c000*/ldr r0, 0x0209c000ldr r1, 0x00str r1, [r0]loop:b loop 死循环防止程序结束编译程序 使用arm-linux-gnueabihf-gcc -g -c led.s led.o将.c 和.s 文件变为.o使用arm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elf将.o文件链接为elf格式的可执行文件链接时需要指定链接的起始地址。对于6ULL链接其实地址应该指向RAM地址而不是存在内部flash。RAM分为内部0x900000~0x91ffff也可以是外部DDR对于ALPHA选择0x87800000。要使用DDR必须要初始化DDR。对于IMXbin文件不能直接烧写到SD卡、EMMC、NAND等外置存储中然后从这些外置存储中启动运行需要添加一个头部这个头部包含了DDR的初始化参数使用arm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.bin将elf文件转为bin文件使用arm-linux-gnueabihf-objdump -D led.elf led.dis将elf文件转为汇编、反汇编文件 可以直接编写makefile文件直接通过make指令编译这里就不详细说明makefile文件的使用 led.bin:led.sarm-linux-gnueabihf-gcc -g -c led.s -o led.oarm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elfarm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.binarm-linux-gnueabihf-objdump -D led.elf led.dis clean:rm -rf *.o led.bin led.elf led.dis烧写bin文件 烧写不是将bin文件拷贝到SD卡中而是将bin文件烧写到SD卡的绝对路径下。而且对于IMX不能直接烧写bin问价需要使用imxdownload软件。使用方法确定要烧写的SD卡文件给予imxdownload可执行权限chmod 777 imxdownload。然后就./imxdownload led.bin /dev/sdf。会向led.bin添加一个头部并且生成一个新的imx文件将新的文件烧写到SD卡中
http://www.w-s-a.com/news/241173/

相关文章:

  • 百度做网站优化多少钱一年罗庄网站建设
  • 手机网站 自适应屏幕h5网站有哪些
  • 北京企业建站技术临沂网站公众号建设
  • 域名和网站备案一样吗wordpress 封装 app
  • 婚纱摄影网站开题报告c2c模式是什么意思
  • 网站几种颜色wordpress水平菜单
  • php做网站的分站wordpress边下边看
  • 杭州建设实名制报备网站Wordpress外贸网站搭建公司
  • 山西云起时网站建设计算机网站开发实现总结
  • 一个网站做两个优化可以做吗永清网站建设
  • wordpress英文采集wordpress seo 链接
  • 进入建设银行的网站就打不了字工程建设标准化网站
  • 杭州网站推广大全网站建设演讲稿
  • 厦门网站的制作太仓专业网站建设
  • 天津公司网站建设公司哪家好在阿里巴巴国际网站上需要怎么做
  • 网站关键词seo推广公司哪家好无锡市无锡市住房和城乡建设局网站
  • 开远市新农村数字建设网站网站如何做QQ登录
  • 自己做个网站教程高端网站开发哪家强
  • 网站模板免费下载中文版大连网站建设哪家专业
  • 网站建设的基本代理公司注册公司坑人
  • 企业网站被黑后如何处理wordpress邮件发送类
  • 北京网站的网站建设公司建设工程竣工验收消防备案网站
  • 淄博市 网站建设报价wordpress里的发消息给我
  • 网站下拉菜单怎么做游戏网站模板免费下载
  • 阿里云上做网站套模板怎么做一个网站开发小组
  • 营销型网站源码下载青岛做网站建设的公司哪家好
  • 迁西网站定制怎么制作网址内容
  • 深圳装饰公司网站宁波网站建设哪里有
  • 建站网站破解版怎么看自己的网站是用什么做的
  • 做微商那个网站好织梦模板更新网站