
韦东山嵌入式Linux学习笔记--裸板开发
_Alon_
I want be a coder!
展开
-
S3C2440裸板程序之第一个程序
一. 编写实现点亮一个LED1. 汇编程序代码 led_on.s:@目标: 点亮一个LED@功能: GPF4 输出低电平@时间: 2018/06/07.text.global _start_start: ldr r0, =0x56000050 @GPFCON 寄存器 mov r1, #0x00000100 @[9:8] = 01 ,设置GPF4为输出功能 str ...原创 2018-08-24 21:57:19 · 317 阅读 · 0 评论 -
S3C2440裸板程序之UART
本实例功能是在串口上输入一个字符,板子收到后让它的ASCII值加1后,从串口输出。head.S.extern main.text.global _start_start: ldr sp, =4096 bl disable_watch_dog bl clock_init bl memsetup bl copy_steppingstone_to_sdram ldr pc, ...原创 2018-08-25 23:42:32 · 261 阅读 · 0 评论 -
S3C2440裸板程序之定时器
本实例首先启动MPLL提高系统时钟,初始化内存控制器,使SDRAM工作在新的HCLK下,然后将定时器0设为0.5秒产生一次中断,在中断程序里改变LED的状态。 head.S .extern main.text .global _start _start: b Reset@ 0x04: HandleUndef: b Han...原创 2018-08-25 23:32:39 · 400 阅读 · 0 评论 -
S3C2440裸板程序之中断
本实例实现按键中断来控制LED的亮灭。head.S.extern main .text.global _start_start: b Reset HandleUndef: b HandleUndefHandleSWI: b HandleSWIHandlePrefetchAbort: b HandlePrefetchAbortHandleDataAbort:...原创 2018-08-25 23:15:12 · 262 阅读 · 0 评论 -
S3C2440裸板程序之MMU
本实例将开启MMU, 将虚拟地址0xA0000000~0xA00010000映射到 物理地址 0x56000000~0x56100000,这样就可以通过操作地址0xA0000050,0xA0000054来控制3个LED的亮灭。head.S.text.global _start_start: ldr sp, =4096 @ 设置栈指针,调用C函数之前要设好栈 b...原创 2018-08-25 22:31:25 · 334 阅读 · 0 评论 -
S3C2440裸板程序之SDRAM
S3C2440从Nand Flash启动CPU时, CPU会通过硬件动作将Nand Flash开始的4KB数据复制到称为Setppingstone的4KB的内部RAM中,然后跳到地址0开始执行。 本实例先使用汇编语言设置好存储控制器,使外接的SDRAM可用,然后把程序本身从Steppingstone复制到SDRAM ,最后跳到SDRAM中执行。head.S...原创 2018-08-25 17:13:14 · 214 阅读 · 0 评论 -
S3C2440裸板程序之Nand Flash
head.S.text .global _start_start: ldr sp, =4096 @ 运行C函数之前要设置栈指针 bl disable_watch_dog @ 关掉看门狗,否则CPU会不断重启 bl memsetup @ 使能sdram bl nand_init @ 初始化nand flash ldr r0, =0x30000000 ...原创 2018-08-25 15:18:13 · 319 阅读 · 0 评论 -
嵌入式Linux基础知识之ARM汇编指令及ATPCS
1. 相对跳转指令:b , bl... b fun1...fun1: bl fun2...fun2:...bl相对于b的不同之处是,跳转之后会返回bl的下一条指令的地址,将其保存在lr寄存器中。这两条指令是位置无关指令。2.数据传送指令mov, 地址读取伪指令ldrmov r1,r2 /*把寄存器r2的值赋值给寄存器r1*/mov r1,...原创 2018-08-25 13:44:56 · 686 阅读 · 0 评论 -
嵌入式Linux 基础知识之Makefile
1. Makefile 规则一个Makefile文件内容由若干规则组成, 规则的格式如下:目标 : 依赖 命令:这里举一个简单示例:hello:hello.c gcc -o hello hello.cclean: rm -f hello2.Makeflie 自动变量$@ : 表示规则的目标文件名$^ :表示所有依赖的名字$<...原创 2018-08-25 11:52:22 · 394 阅读 · 0 评论 -
S3C2440裸板程序之GPIO
本文介绍如何点亮裸板上的一个LED。一. 硬件原理LED1 电路图如下nLED_1接的GPF4引脚 可知, nLED_1接的GPF4引脚, nLED_1输出低电平,灯亮; nLED_1输出高电平,灯灭。下面来设置GPF4为输出引脚, 且输出低电平。将GPFCON 的GPF4 bit[9:8] 设置为01 = Output 将GPFDAT 的bit[4] 设为...原创 2018-08-25 11:16:50 · 230 阅读 · 0 评论