S5PV210的IRAM应用
IRAM的大小96k,其实前两个程序都在这里运行的,程序都小于16K。要实现的是从把IRAM从的前16k从IRAM的起始地址0xD0020000拷贝到0xD0024000 处,调用main。堆栈指针设置到了0xD003_7D80处。程序的链接地址是0xD0024010.用图表示如下。本程序只涉及到IRAM,重点为在于重定向。
- @******************************************************************************
- @ File:start.S
- @ 功能:启动代码,设置栈,拷贝16k到0xd0020000处
- @******************************************************************************
- .text
- .global _start
- _start:
- ldr sp, =0xD0037D80 @ 设置栈,以便调用c函数
- adr r0, _start @ 重定位
- @ _start当前所位于的地址:0xd0020010 (前边放有16bit的头信息)
- ldr r1, =_start @ _start的链接地址:0xd0024010
- ldr r2, =0xd0028000 @ 0xd0028000 = 0xd0024000 + 0x4000(16k)
- cmp r0, r1
- beq run_on_dram
- copy_loop:
- ldr r0, =0xd0020000 @ 源 起始地址
- ldr r1, =0xd0024000 @ 目的 起始地址
- 1:
- ldr r3, [r0], #4 @ 源
- str r3, [r1], #4 @ 目的
- cmp r1, r2
- bne 1b
- run_on_dram:
- ldr pc, =main @ 跳转
- halt:
- b halt
- /******************************************************************************/
- /* File:main.c
- /* 功能:LED闪烁
- /******************************************************************************/
- #define GPJ2CON (*(volatile unsigned long *) 0xE0200280)
- #define GPJ2DAT (*(volatile unsigned long *) 0xE0200284)
- // 延时函数
- void delay(unsigned long count)
- {
- volatile unsigned long i = count;
- while (i--)
- ;
- }
- void main() //LED 闪烁
- {
- GPJ2CON = 0x00001111; // 配置引脚
- while(1) // 闪烁
- {
- GPJ2DAT = 0; // LED on
- delay(0x100000);
- GPJ2DAT = 0xf; // LED off
- delay(0x100000);
- }
- }
Makefile:
- link.bin: start.o main.o
- arm-linux-ld -Ttext 0xD0024010 -o link.elf $^
- arm-linux-objcopy -O binary link.elf link.bin
- arm-linux-objdump -D link.elf > link_elf.dis
- gcc mkv210_image.c -o mkv210
- ./mkv210 link.bin 210.bin
- %.o : %.S
- arm-linux-gcc -o $@ $< -c
- %.o : %.c
- arm-linux-gcc -o $@ $< -c
- clean:
- rm *.o *.elf *.bin *.dis mkv210 -f
S5PV210的IRAM应用的更多相关文章
- s5pv210中断体系
一.什么是中断? 1.中断的发明是用来解决宏观上的并行需要的.宏观就是从整体上来看,并行就是多件事情都完成了. 2.微观上的并行,就是指的真正的并行,就是精确到每一秒甚至每一刻,多个事情都是在同时进行 ...
- S5PV210的内存分配研究分析
S5PV210内存一般会使用SDRAM和DDR2 (DDR SDRAM),SDRAM的uboot启动网络已经有很多资料的,对于DDR2还有有很多疑惑,如果有错误的地方,请大家一定指出,醍醐灌顶,不胜感 ...
- 9.S5PV210的时钟系统
1.时钟域:MSYS.DSYS.PSYS(1)因为S5PV210的时钟体系比较复杂,内部外设模块太多,因此把整个内部的时钟划分为3大块,叫做3个域.(2)MSYS: CPU(Cortex-A8内核). ...
- S5PV210裸板驱动:启动
以往2440和6410的启动方式,只要我们把裸板代码烧写到NAND FLASH的开始位置,当开发板上点启动时,处理器会自动从NAND FLASH上拷贝前面一段的代码到内部的RAM中执行.按照以前的方法 ...
- 总结:S5PV210时钟系统
在数据手册<S5PV210_UM_REV1.1>中的section 02_system/3 CLOCK CONTROLLER(354页) 一.时钟域 在S5PV210的SoC中,时钟系 ...
- 第一章之s5pv210启动顺序
我所使用的开发板是:友善之臂smart210,cpu为s5pv210.u-boot版本是:u-boot-2012-10 1,首先在u-boot中配置相对应的开发板的配置文件 #make s5p_gon ...
- S5PV210 时钟体系分析
S5PV210 时钟体系 如下面时钟结构图所示,S5PV210 中包含 3 大类时钟域, 分别是主系统时钟域(简称 MSYS).显示相关的时钟域(简称 DSYS). 外围设备的时钟域(简称 PSYS) ...
- S5PV210初始化系统时钟
S5PV210初始化系统时钟 S5PV210时钟体系S5PV210中包含3大类时钟domain,分别是主系统时钟domain (简称MSYS,下面将使用简称来进行相关讲解).显示相关的时钟domain ...
- 三星S5-PV210内存初始化
一.S5PV210时钟系统 时钟:一定频率的电信号. 时钟系统:基于CMOS工艺的高性能处理器时钟系统,集成PLL可以从内部触发,比从外部触发更快且更准确,能有效地避免一些与信号完整性相关的问题. ...
随机推荐
- SQLserver中常用的函数及实例
聚合函数 as是可以起别名的,在select和from之间的是表示列名,可以不加单引号)(聚合函数中的count不仅能对数字进行操作还能对字符型进行操作,其余的只能对数字操作) 最小值 select ...
- jq选取对象的方法
$("#找id的")$(".找样式的") $("div[id]") 选择所有含有id属性的div元素 $("input[nam ...
- [Guava官方文档翻译] 3. 前置条件检查(Preconditions Explained)
本文地址:http://www.cnblogs.com/hamhog/p/3536964.html 前置条件检查 Guava提供了一些检查前置条件的utilities.我们强烈建议静态import这些 ...
- 伪分布式环境下命令行正确运行hadoop示例wordcount
首先确保hadoop已经正确安装.配置以及运行. 1. 首先将wordcount源代码从hadoop目录中拷贝出来. [root@cluster2 logs]# cp /usr/local/h ...
- SSH调试
<s:date>标签中若是用date数组或Calendar数组,则永远显示数组最后一个数. 试试List.Set.Map也不行. 看来只能够使用单个对象.或者在后台传送String 数组, ...
- DataGridView默认不选中
NurseGridList.CurrentCell = null; NurseGridList.ClearSelection(); Nurs ...
- Centos7 设置IPtables
entOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fire ...
- JS判断输入框值是否为空
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- thinkphp表单上传文件并将文件路径保存到数据库中
上传单个文件,此文以上传图片为例,上传效果如图所示 创建数据库upload_img,用于保存上传路径 CREATE TABLE `seminar_upload_img` ( `id` int(11) ...
- PHP 提取图片img标记中的任意属性
PHP 提取图片img标记中的任意属性的简单实例. 复制代码代码如下: <?php /* PHP正则提取图片img标记中的任意属性 */ $str = '<center><im ...