嵌入式ARM
绿叶清风
这个作者很懒,什么都没留下…
展开
-
arm第二天(环境搭建、LED上)
回顾 嵌入式系统: 以应用为中心,以计算机为基础,软硬可裁剪,系统对功能、可靠、成本、体积、以及功耗都有严格要求的计算机系统。 什么是嵌入式? 计算机技术和行业结合中,形成的产物; 嵌入式软件开发工程师 应用(行业),行业知识 计算机技术(软件开发)程序开发:PC机 运行平台:嵌入式硬件平台原创 2016-12-01 00:05:32 · 928 阅读 · 0 评论 -
arm第九天(汇编之指令下)
ARM七种工作模式管理快速中断中断中止未定义系统 用户ARM运行状态ARM状态 arm指令 32bit 地址字对齐(整除4),最后两bit为0Thumb状态 thumb指令 16bit 半字对齐,最后1bit为0ARM寄存器 不同的状态,访问不同的寄存器 R0-R12 共用 R13(SP) 保存栈顶指针 R14(LR) 用来保存返回地址原创 2016-12-08 00:54:11 · 2266 阅读 · 0 评论 -
arm第八天(汇编指令之跳转指令)
ARM编程模型 ARM SVC:复位,执行SWI指令 快速中断FIQ:发生高优先级的中断 中断IRQ:发生低优先级的中断 中止:访问存储器发生非法情况 未定义:执行指令,不能识别 系统:与用户模式共用寄存器的特权模式 用户:多数应用程序与系统任务运行在模式2,工作模式的分类 异常/非异常: 异常:管理,快速中断,中断,中止,未定义 非异常:系统,用户 特权/非特权 特权:管理原创 2016-12-07 14:37:12 · 3887 阅读 · 0 评论 -
arm第七天(Nand Flash下)
NFSTAT寄存器 当RnB信号由低电平跳变成高电平时,该bit位会被自动置1(硬件完成),表示Flash可以读,读NFDATA寄存器; 但量,此信号何时变为低电平?手动操作该bit位,使其清0。 有点特殊的是,如果将该bit清0,要向该bit写1. 此方法与以往有区别: 写 0 ,清0 写 1,置1 而该bit位: 写1,清0 自动,置原创 2016-12-06 10:03:55 · 595 阅读 · 0 评论 -
ARM第六天(Nand Flash 上)
1,什么是Nand fash? 存储设备,用于存储整个系统(引导程序、内核、文件系统),相当于PC中的硬盘。2,TPAD采用了什么Nand Flash 三星公司的K9K8G08U0B型号的Nand Flash。3,如何才能操作Nand Flash,主要是对它进行写操作,读操作,校验操作 需要阅读Nand flash的datasheet ,该手册会详细描述如何操作nand falsh的正确方法。原创 2016-12-05 16:41:44 · 1141 阅读 · 0 评论 -
ARM第五天(串口下)
ULCON0 设置数据格式 UCON0 设置接收发送模式(轮询)暂停信号,回环,时钟源 UFCON0 UMCON0 UBRDIV0 设置波特率1 UDIVSLOT0 设置波特率2 UTRSTAT0 状态寄存器 bit[1] bit[0] UTXH0 发送缓冲寄存器 URXH0 接民缓冲寄存器串口 TPAD PC 发送原创 2016-12-04 11:20:43 · 721 阅读 · 0 评论 -
ARM第四天(蜂鸣器下、串口)
蜂鸣器 buzzer.h#ifndef __BUZZER_H__#define __BUZZER_H__#define GPC0CON (*((volatile unsigned int*)0xE02000A0))#define GPC0DAT (*((volatile unsigned int*)0xE02000A4))#define GPC0PUD (*((volatile unsign原创 2016-12-03 22:23:59 · 1350 阅读 · 0 评论 -
ARM第十二天(中断处理)
中断处理流程: 中断源:硬件底板原理图能过查看硬件原理图,得知,key1,key2分别连接到CPU的GPH0_0和GPH0_1这两个管脚。GPH0: key1:外部中断0 ,EXT_INT[0],bit[3:0] = 1111 key2:外部中断1,EXT_INT[0],bit[7:4] = 1111禁止这两个管脚的内部上下拉电阻,bit[3:0] = 0000使能中断: 0:使能外部中断原创 2016-12-12 16:12:50 · 828 阅读 · 0 评论 -
ARM第三天(LED下、蜂鸣器上)
GPC1CON寄存器 0xE020_0080 确定GPC1_3的管脚为输出 当GPC1_3的管脚的功能确定了输出功能后,具体如何输出高电平? GPC1DAT寄存器 0xE020_0084 [4,0],五个管脚共用一个寄存器,一个寄存器占用一位什么是上、下拉电阻? CW210-Peripherial.pdf 上拉电阻: 如按键按下,则XEINT0管脚为低电平 如按键松开,则XEI原创 2016-12-03 08:11:19 · 1093 阅读 · 0 评论 -
arm第十一天(汇编与C混调、异常处理)
汇编程序与C程序混合调用在C语言中如何调用汇编语言实现的函数在C语言中如何使用汇编语言定义的变量汇编语言中如何调用C语言的函数汇编语言中如何调用C语言定义的变量在C语言中如何调用汇编语言实现的函数 例如用汇编比较两个字符串是否相等的函数的代码片段: .text .code32 .global my_strcmpmy_strcmp: ldrb r2,[r1原创 2016-12-11 18:08:43 · 2095 阅读 · 0 评论 -
STM32可用的QRCODE二维码生成库
近期的一个项目中要用到qrcode来传送一些讯息,因此跑去找了下方法顺便问问其他人,大多数都是PY或者Java的类库,C语言少得可怜。最后找到了这个库,在github上开源发布:https://github.com/fukuchi/libqrencode它的作者设计用在Linux上面。是作为可执行文件来运转并产生二维码的,因此试着缩减了一些不用的功能,减去主转载 2017-06-08 10:49:20 · 5021 阅读 · 3 评论