怎样从0开始写bootloader? 李明 北京亚嵌教育研究中心 http://www.akaedu.org.

Slides:



Advertisements
Similar presentations
H T U 報告者:周振聰 僑生處 主任. h T U 免會考成績入學 h T U 未來望 您想學 一技之長嗎 ? 歡迎參加莊敬建教班 不但三年免學費,且 保證讓您學到一技之 長,脫離貧窮,邁向 光明的人生 免試入學.
Advertisements

高中新课程思想政治(必 修 1 、 2 )的教学体会 北京师大二附中 李文燕 2008 年西城新课程教师培训的讲稿.
《饲料分析与质量检测技术》 说课 主讲教师:管建慧. 课程名称: 《饲料分析与饲料质量检测技术 》 课程编码:
足太阴脾经在足大趾与足阳明胃经衔接, 在胸部与手少阴心经相接。 联系的脏腑器官有 咽、舌,属脾,络胃,注心中。 络脉从本经分出,走向足阳明经,进入腹腔,联络肠胃。 经别结于咽,贯舌本。 经筋结于髀,聚于阴器,上腹,结于脐,散于胸中。 第四章 足太阴经络与腧穴 第一节 足太阴经络.
桃園地景藝術節 最近桃園在舉辦桃園地景藝術節,種共有五大主題區, 分別是:黃色小鴨展區、巨型蓮花展區、草間點點展區、范姜 古厝展區、新屋水巷展區。那這些景點到底個展覽什麼呢?讓 我們繼續看下去 …… 。
4-2 、聚落的演變 人口的分布 自然環境特性、交通便利性及就業 機會等因素,常影響人們對於居住地點 的選擇。 臺灣西部地區的平原和盆地,地勢 較為低平、開發較早,在肥沃的土壤、 便捷的交通網路等有利的條件下,工商 業往來頻繁,人口較為密集。
2009/12/211 商務科技管理系 實 務 專 題 報 告 辦桌非難事 學生: 施雅雯 ( ) 張敬芝 ( ) 葉明臻 ( ) 黃怡琅 ( )
台北市立南港高工 建築科 Architecture 建築科之精神:活力、責任、效率 建築科之展望:共築美麗人生 綜合高中 土木建築學程簡介  綜高土建升學進路  未來出路展望  專業證照考試  未來展望圖例  綜高土建學程課程架構  土建群統一入學測驗考科  升學人數統計.
600年前,鄭和率領世界上最強大的艦隊,浩浩蕩蕩的駛入印度洋,展開一場「文化帝國」的海上大秀。
103年度學生健康檢查.
成语乐园 成语乐园 执教老师:李道梅.
加快培育和发展战略性新兴产业 科技部调研室 胥和平
屏東監理站電腦筆試e化系統 考生操作使用說明及注意事項.
2014年语言文字工作总结 党委学生工作部 2014年12月5日.
詹天佑.
北师大版义务教育课程标准实验教科书 七年级上册讲义 第17课 先进的科学技术.
第 一 期 Go.
专题三 生物圈中的绿色植物.
第3章: 產業與競爭環境 張緯良 世新大學資訊管理系.
立體四子棋 研究成員:謝旻諺、 鄭家鈞 指導老師:林屏森老師.
“三步式”网络学习法 《探究与发现》数学网络学习平台介绍
第二章 项目一:企业厂区与车间平面设计 1.
文明建设,气象先行 ——农安县气象局 2.
初中思想品德 规范的教学设计与案例分析.
滑雪美食街 組員:林韋伶、張雅弦、王佑盛、朱坤賢.
汪清县气象局创建省级文明单位工作展示 2016年8月
三創產業學程 學群主持人:袁國榮召集人.
物业经理/部门主管 如何有效执行日常管理工作.
目录 和甲润肺茶上市新闻发布会 目录 一、基本概况 二、市场分析 三、活动内容 四、流程管控.
宁波万里国际学校 陈湘龙
榕桥中学 校园文化建设情况汇报.
嵌入式系统应用 概述 随着现代物流业仓储、超市等行业的快速发展,物品流动的速度越来越快,仓储库存周期也越来越短。这样物流仓储盘点行业的压力也越来越大,传统的人工盘点方式已经不能适应现代物流的发展。为了解决这一问题,国际上一些物流先进国家已经采用专业的盘点设备——盘点机,用于物流盘点。 我们选取了一个十分典型的国产盘点机进行介绍。其微处理器选型是采用韩国三星公司生产的S3C2410微处理器,操作系统采用了Windows.
第六章 ADS集成开发环境的使用.
足太阳膀胱经.
《体育与健康》说课稿 课题:新兴体育舞蹈 —踢踏舞教学 北师大泉州附中 陈玉慈.
2016年上半年工作汇报 后勤与保卫管理处 二○一六年七月.
新办纳税人培训 (地税部分) 2015年8月.
第四章 BootLoader开发 附-s3c2410/s3c2440处理器介绍
第一章 嵌入式系统开发基础 本章介绍了嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基本内容,使读者系统地建立起的嵌入式系统整体概念。
S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)
Bootloader技术分析.
YM100开发实验板 演讲人:熊小燕 2009年月12月16日
嵌入式系統架構 長高科技 顏旭偉.
第14章 Bootloader基本概念與燒錄.
嵌入式系统教案 武汉创维特信息技术有限公司 2018/11/27.
Block diagram BB —逻辑 —音频 —电源管理 HW interface. Block diagram BB —逻辑 —音频 —电源管理 HW interface.
存储设备介绍 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
兩岸交流莙政獎學金 北京大學 報告人:醫環13 葉佳偉,材料 14 王俐雯 2018/12/1.
实验一 嵌入式交叉开发环境的建立.
Arduino.
第四章 BootLoader开发 附-s3c2410/s3c2440中断控制器介绍
NO.3.1 SOPC技术 第5章 Nios II 系统的外围设备.
第4章 汇编语言程序设计 汇编语言源程序格式 汇编语言上机过程 汇编语言与C语言混合编程技术.
在專用的嵌入式板子運行 GNU/Linux 系統已經變得越來越流行。一個嵌入式 Linux 系統從軟體的角度看通常可以分為四個層次:
嵌入式系统的Boot Loader技术 陈文智 浙江大学计算机学院 2009年5月.
9.1 家用电器.
第五章 C/C++及汇编语言的混合编程 5.1 ARM C/C++编译器 5.2 在C/C++程序中内嵌汇编指令
(第2版).
第3章 嵌入式系统的设计方法 3.1 嵌入式系统的总体结构 3.2 嵌入式系统开发过程 3.3 ADS集成开发环境的使用
ARM Developer Suite 介 绍.
嵌入式系统教案 武汉创维特信息技术有限公司 2019/4/18.
ARM裸机第一部分-ARM那些你得知道的事
第二章ADS1.2开发环境创建与简介.
相片典藏 臺北市立弘道國中總務處 防災校園建置計畫補助-個人防護具 品 名 數 量 30 4 工作手套 72 6 簡易雨衣 300
陳逸飛作品欣賞    已故油畫大師陳逸飛早年成名作品《黃河頌》昨日( )在北京拍賣。在多番競逐下,以破紀錄的4032萬元人民幣天價成交。這不僅是陳逸飛油畫作品的最高價,也創下內地油畫作品成交價的最高紀錄。這幅油畫描述一名紅軍站在黃河旁的山嶺,眺望天際。此畫被視為文革後中國美術史重要作品,1996年在香港以128.5萬港元售出,在11年之間,升值超過30倍。
C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.
看圆如何七十二变 微建筑早课.
台大資訊工程學系 資料系統訓練班 第119期 吳晉賢
指數、對數函數 數101乙 周文翔 朱哲明 張良聿.
李商隐诗两首 锦 瑟 马 嵬 夕阳无限好,只是尽黄昏。.
Presentation transcript:

怎样从0开始写bootloader? 李明 北京亚嵌教育研究中心 http://www.akaedu.org

开场介绍 本次课程讲什么? 本次课程谁来讲? 本次课程适合的听众是哪些人? 从0开始写bootloader limingth@akaedu.org 本次课程适合的听众是哪些人? 有时间在接下来1个月内开始动手实践的人 已经购买或者准备购买开发板的人

今日主题 从0开始写bootloader 0(零基础)指的是什么? Bootloader是什么? 学习过C语言 了解ARM体系结构和汇编语言 没有在开发板上做过软件开发 Bootloader是什么? Boot: 能够初始化基本硬件(时钟,存储,串口) Loader: 能够加载,运行,固化外部程序(操作系统)

学习动机 为什么会有bootloader? 为什么我们要自己写Bootloader? 你怎样学游泳? u-boot/vivi/redboot/blob/… 你怎样学游泳?

本次课程收获 了解不同嵌入式软件运行的硬件基础和依赖 掌握一种嵌入式开发工具,开发流程和开发方法 软件运行的存储芯片 哪些程序运行依赖栈空间? Bootloader能调用库函数吗? main函数的功过是非 用全局变量好,还是局部变量好? 掌握一种嵌入式开发工具,开发流程和开发方法 ARM ADS1.2 IDE (JTAG调试, Flash烧写,AXD下载) 命令行工具(armcc, armasm, armlink, fromelf, make) 步步为营,左右互搏,屡试不爽 通过写bootloader,深刻领会ARM嵌入式开发核心概念之“寄存器” sp(栈指针),lr(链接返回地址),pc,CPSR GPIO寄存器,UART寄存器,NandFlash寄存器 ARM Architecture Referrence Manual  plus  DataSheet

预备

预备工作之一 首先, 得有一个板子 推荐友善之臂 mini2440 http://www.arm9.net/mini2440.asp mini2440单板 : 499RMB mini2440 + 3.5"LCD 套餐 : 680RMB

预备工作之二 书籍 以上2本都有电子版提供, 可以课后向张婷老师要一下. 《ARM Architecture Reference Manual》 PDF,Part A 《ARM体系结构与编程》 清华大学出版社,杜春雷著 以上2本都有电子版提供, 可以课后向张婷老师要一下.

预备工作之三 构建基础知识体系 硬件知识 ARM寄存器 ARM芯片外设控制器 37个寄存器:R0-R12, R13(SP),R14(LR),R15(PC),CPSR(SPSR) ARM芯片外设控制器 WatchDog(看门狗), GPIO(通用IO), UART(串口), Nand Flash Controller, Clock & Power Management(时钟和电源管理),

预备工作之三 构建基础知识体系 软件知识 ARM开发调试工具 ARM命令行工具 ARM汇编指令 ADS1.2,AXD make,hypertrm(超级终端) ARM命令行工具 armcc,armasm,armlink,fromelf ARM汇编指令 mov,add,sub, b,bl, ldr,str

未完待续,敬请关注 谢谢!

动手实践 目标--实现一个bootloader 完成这个目标, 有哪些中间步骤? 支持外部程序的下载,运行, 固化和自加载 1-能够实现led灯的闪烁 (汇编级和C语言级) 2-能够实现串口的初始化和读写(C语言) 3-能够实现基于串口的下载和执行(C语言) 4-能够实现命令行解析方式的下载和执行 5-能够实现Flash的固化 6-能够实现固化后的自加载启动

中间里程碑之一 闪灯 汇编语言实现 LDR, STR 内存读写指令 B, Bl 跳转指令 armasm 汇编器, armlink 链接器 S3C2440 DataSheet 数据手册 SFR 特殊功能寄存器之 GPIO 控制器 硬件设计原理图 H-jtag flasher 烧写

中间里程碑之一 闪灯 C语言实现 SDRAM初始化 SRAM内部存储和地址 sp 堆栈指针和栈空间 armcc编译器 volatile 关键字 #define 宏用法 main函数 反汇编工具 fromelf SDRAM初始化

中间里程碑之二 串口 串口工作原理 帧格式 时钟频率设置 IO管脚的功能复用 控制寄存器,数据寄存器,状态寄存器 缓冲寄存器,移位寄存器 数据位,停止位,奇偶校验,流控,波特率 时钟频率设置 IO管脚的功能复用 控制寄存器,数据寄存器,状态寄存器

中间里程碑之三 下载和执行 接收二进制可执行代码 getchar 跳转命令的C语言实现 函数指针 Xmodem协议 协议帧格式 传输过程控制

中间里程碑之四 命令行解析 标准IO输入输出 字符串函数 常用命令 gets puts printf strcmp 函数(字符串比较) strstr 函数(字符串匹配) atoi 函数(字符串转整数) 常用命令 download go flashw

中间里程碑之五 Flash固化 flash 的内部存储结构 flash 与主芯片的连接关系 flash 的初始化配置 flash 的读写时序 怎样传地址, 怎样传数据 flash 的初始化配置 flash 的读写时序 Nor flash Nand flash

中间里程碑之六 自启动方式 加电后的启动流程 Flash的分区 等待1-3秒, 如无用户输入, 则进入自加载模式 加载不同应用(操作系统) 传递给内核相应参数

哈哈, 搞定了