S5PV210启动原理


ARM启动顺序

BL0(IROM)的作用

初始化系统时钟,设置看门狗,初始化栈和堆
加载BL1

BL1的作用

初始化RAM,关闭Cache,设置栈
加载BL2

BL2的作用

初始化其他外设
加载OS内核

reset状态

GPIO

1)实验伪代码:

1. GPJ2  GPJ2_0 - GPJ2_3
2. GPJ2CON, 0XE0200280 = 0x00001111
3. GPJ2DAT, 0xE0200284

2)汇编代码:

.text
.global _start
_start:LDR R0, =0xE0200280MOV R1,#00001111STR R1,[R0]LDR R0,=0xE0200284MOV R1,#00STR R1,[R0]
loop:B loop

makefile

led_on.bin:led_on.Sarm-linux-gcc -c -o led_cn.o led_cn.Sarm-linux-ld -Ttext 0x2000000 led_on.c -o led_on.elfarm-linux-objcopy -O binary -S led_on.elf led_on.bin
clean:rm -f *.c *.elf *.bin
  1. C语言代码

     #define GPJCON (*(volatile ubsigned long *)0xE0200280)#define GPJDAT (*(volatile ubsigned long *)0xE0200284)int main(){GPJCON = 0x000011;GPJDAT  = 0x00;}
    

了解开发板资源的步骤

  1. 找CPU,为了找到系统上电后,第一条执行的代码。
    ARM:异常向量表(reset)
  2. 0x0 接的是什么芯片
  3. 芯片公司重定义的地址。
    片内资源:SFR
    片外资源:
  4. BOOT程序:
    设置时钟clock

嵌入式系统开发-麦子学院(12)——ARM Cortex A8 硬件基础(2)相关推荐

  1. 嵌入式系统开发-麦子学院(4)——Linux C初级编程2

    上篇文章讲到了Linux C初级编程的C语言基础部分:https://blog.csdn.net/QiHsMing/article/details/84947781 下面接着Linux C初级编程的L ...

  2. arm板telnetd为什么运行不了_一种基于ARM的嵌入式系统开发的方案详细讲解

    背景介绍 在日益信息化的社会中,各种各样的嵌入式系统已经全面渗透到日常生活的每一个角落.嵌入式系统的功能越来越复杂,这就使得一个嵌入式系统产品从市场需求立项到方案选择.样机研制.定型量产所需要的开发费 ...

  3. 嵌入式系统开发学习如何起步、如何深入?(转)

    学习有捷径吗?俺认为是有的,正确的道路就是捷径. 就好象是爬山,如果有导游图,那就能找到一条最正确的路线:如果没有导游图,自己瞎琢磨,东问西问,也未必能找到最佳的路线. 有时候回首前尘,会谓叹,要是当 ...

  4. 嵌入式系统开发笔记0_0:目录

    本系列文章将向大家介绍嵌入式系统开发的各方面知识. 本系列文章所介绍的知识和内容,除电路图设计外,其它均采用开源系统,所以你不会在这个系列文章中看到Keil.IAR等软件. 本系列文章涉及C.C++. ...

  5. 嵌入式系统开发-学习路线

    嵌入式系统开发 课程链接 随着嵌入式设备的普及,嵌入式应用的需求量也随之增大,本课程将重点培养基于linux系统下的嵌入式应用开发,包括5个阶段,其中课程涵盖了linux系统下的多进程.多线程嵌入式开 ...

  6. 嵌入式系统开发怎样快速度入门

    http://wenda.tianya.cn/wenda/thread?tid=392a249d9d6856c5 实践当然是最锻炼人的方式,但是我想在校生很少有这样的机会,别说本科生,硕士生也未必有条 ...

  7. labview嵌入c代码_LabVIEW与myRIO嵌入式系统开发入门

    一.概述 NI myRIO是NI公司推出的一款嵌入式系统开发平台,内嵌Xilinx Zynq芯片,可以利用双核ARM Cortex-A9的实时性能以及Xilinx FPGA可定制化I/O进行嵌入式系统 ...

  8. 嵌入式系统开发学习步骤(Linux高级编程学习顺序)

    2019独角兽企业重金招聘Python工程师标准>>> 嵌入式系统开发学习步骤(Linux高级编程学习顺序) 1.Linux 基础 安装Linux操作系统 Linux文件系统 Lin ...

  9. 面向对象嵌入式系统开发7-嵌入式系统的实现

    面向对象嵌入式系统开发7-嵌入式系统的实现  如果说嵌入式系统的面向对象分析与设计涉及到抽象.思考和经验的话,那么嵌入式系统的实现则涉及更多的实施细节.无论使用咋样前言的技术方法,最终都需要把整个系统 ...

最新文章

  1. 0x15.基本数据结构 — 字符串 (KMP算法(含详细证明)和最小表示法)
  2. ASP.NET MVC5+EF6+EasyUI 后台管理系统(46)-工作流设计-设计分支
  3. python软件安装步骤-一篇非常棒的安装Python及爬虫入门博文!
  4. 灰度图像--图像增强 双边滤波 Bilateral Filtering
  5. c语言for循环的第三句,for循环语句的用法
  6. update语句的返回值是什么
  7. php通过ajax下载文件,PHP使用ajax的post方式下载excel文件简单示例
  8. jz2440-uboot-201204版本移植【学习笔记】【原创】
  9. Imageready(IR)动画介绍
  10. Win11如何跳过开机更新 Win11跳过开机更新教程
  11. Python 表白?别傻了,女神是拿来撩的!
  12. PyCharm 专题
  13. 深入解析JQuery中的isPlainObject()使用方法 1
  14. Hibernate中创建Session(会话)接口的方法
  15. 各种坐标系下的散度、梯度、旋度公式
  16. excel找出重复值
  17. Android DeepLink使用
  18. jupyter中python3如何导入文件_无法读取Azure Jupyter Notebook(Python 2和3)中的“ .parquet”文件 - python...
  19. 苹果手机有护眼模式吗_玩手机眼睛疼?你需要开启护眼模式~
  20. 数据管理平台系列之Zeppline安装与使用

热门文章

  1. python判断偶数奇数_Python程序检查数字是奇数还是偶数
  2. vue3.0 + JsBarcode 循环生成多个条形码(setup语法糖)
  3. 十万部冷知识:“澳大利亚”为什么属于亚洲球队?
  4. 四、基于HTTPS协议的12306抢票软件设计与实现--水平DNS并发查询分享
  5. MFCC和fbank的区别
  6. 变压器状态的监测与诊断
  7. OneNote重装或升级版本后如何同步之前的在线笔记?
  8. 卷积神经网络之前向传播算法
  9. python读取oracle数据库中文乱码_PL/SQL连接Oracle数据库,中文乱码,显示问号
  10. java中web错误返回码,关于在java程序里调用webservice报500返回码的有关问题