首页 > 其他分享 >01_ARM学习准备工作

01_ARM学习准备工作

时间:2023-12-14 15:13:20浏览次数:31  
标签:bin 01 学习 WindowsCE6 Superboot210 Linux Android ARM SD

01_ARM学习准备工作

  • 熟悉Tiny210开发
    • ARM9 - 2410
    • ARM11 - 6410
    • CortexA8 - Tiny210
    • CortexA15 ...

1. 开始进入到真正的嵌入式阶段

1.1. 理解一下我们要学的内容

启动过程

1、上电
2、从BIOS里读引导信息
3、bootloader:准备运行环境,引导操作系统
3、操作系统kernerl init
4、加载 操作系统上层应用

1.2. 我们工作的核心行为

我们工作的核心行为就是 研究CPU如何理解0和1 电子脉冲!
看板子,看电路,找地址,操作地址

回顾知识:
1、数字电路
2、C语言的地址操作(指针)、位运算

2. 手机研发的过程

1、提需求:小米手机、小米盒子
2、概要设计(出方案):采用什么LCD、CPU、NADN FLASH、RAM、DDRAM、外设(GPS)...
3、两头走
硬件设计:PCB、模具
软件设计:BSP、内核往上4层的定制
4、研发
硬件研发:修改
软件研发(相对硬件复杂):驱动 (厂家会提供,可以修改)
5、集成
6、测试

实际过程、软件团队很少用开发板,直接上原型板子,直接上原型的模具。

3. Tiny210SDKV1(V2)开发板Helloworld

3.1. 什么是开发板?

用来实验的板子

3.2. 拿到开发板我们应该怎么开始?

3.2.1. 认识学习光盘目录结构

根目录

  • 用户手册.pdf:介绍板子
  • Android:应用开发
  • Datasheet:板子上硬件手册
    • S5PV210_UM_REV1.1.pdf:后续研究CPU要读的
  • images(B盘):烧写镜像
    • bootloader(通用):Superboot210.bin:bootloader 常用的bootloader有uboot、superboot
    • 内核
    • 根文件系统
  • Linux:应用开发工具
  • Schematic-PCB:PCB原理图
  • tools:常用工具
  • WindowsCE6:应用开发工具

3.2.2. 认识板子组成及原件 Tiny210v1核心板和底板介绍

  • 核心板
    • 主控S5PV210Cortex-A8内核
    • Nand Flash (256M)
    • DDR2 RAM x 4 (扩展存储空间) (512M)
    • COM 外接引脚
    • LED 电源灯 和 测试灯
    • HDMI mini接口
  • 底板
    • 外设
    • boot swicth key boot切换按键
    • 网口
    • 麦克风 音频输出
    • miniusb
    • ADC
    • ROM(存储BIOS)
    • ...

3.2.3. 测试烧写我们的Bootloader、Kernel(CP)、RootFS(AP)

  • PC上准备工作
    • 启动COM连接终端工具 - 通过COM连接开发板,操作,看log
    • 用SD卡,写入Bootloader,copy相关Images进去,准备烧写

1、使用SD卡上的images完成烧录

首先电脑 以管理员权限 打开 SD-Flasher.exe,然后扫描SD卡,选择Superboot210.bin文件,然后点击fuse 烧录

然后讲images文件夹拖入 SD的目录下

修改FriendlyARM.ini

注意:如果是Nand(2GB),根文件系统烧录rootfs_android-mlc2.img ,否则是rootfs_android.img
因为是电容屏,所以要跳过校准skipcali=yes,然后本屏幕的触摸芯片是ctp=3

电容屏、mlc2

#This line cannot be removed. by FriendlyARM(www.arm9.net)

CheckOneButton=No
Action = Install
OS = Android

LCD-Mode = No
LCD-Type = S70 

LowFormat = No
VerifyNandWrite = No
CheckCRC32=No

StatusType = Beeper | LED

################### Android 4.0.3 ####################
Android-BootLoader = Superboot210.bin
Android-Kernel = Android/zImage
Android-CommandLine = root=/dev/mtdblock4 rootfstype=yaffs2 console=ttySAC0,115200 init=/linuxrc androidboot.console=ttySAC0 skipcali=yes ctp=3
Android-RootFs-InstallImage = Android/rootfs_android-mlc2.img

################### Android 2.3.1 ####################
#Android-BootLoader = Superboot210.bin
#Android-Kernel = Android2.3.1/zImage
#Android-CommandLine = root=/dev/mtdblock4 rootfstype=yaffs2 console=ttySAC0,115200 init=/linuxrc androidboot.console=s3c2410_serial0 skipcali=yes ctp=3
#Android-RootFs-InstallImage = Android2.3.1/rootfs_android-mlc2.img

################### Linux ####################
Linux-BootLoader = Superboot210.bin
Linux-Kernel = Linux/zImage
Linux-CommandLine = root=/dev/mtdblock4 rootfstype=yaffs2 console=ttySAC0,115200 init=/linuxrc
Linux-RootFs-InstallImage = Linux/rootfs_qtopia_qt4-mlc2.img

################### Windows CE6.0 ####################
WindowsCE6-Bootloader = Superboot210.bin
WindowsCE6-BootLogo = WindowsCE6\bootlogo.bmp
WindowsCE6-InstallImage = WindowsCE6\NK.bin
WindowsCE6-RunImage = WindowsCE6\NK.bin





插上SD卡 ,打开SD启动,上电

2、使用minitools烧录

上面的ini文件添加USB-Mode = yes

管理员安装MiniToolsSetup-Windows-20150528.exe
USB驱动会安装失败,需要在电脑-管理-资源管理器,手动安装驱动

安装驱动提示文件的哈希值不在指定的目录文件中的解决办法
https://jingyan.baidu.com/article/0f5fb09930de116d8334ea12.html

安装完驱动后,插上miniusb,打开软件,自动识别到,然后

4. 看看电路图

打开Schematic-PCB
核心板电路Tiny210-1204-Schematic.pdf
底板电路Tiny210V2SDK-V1.0-120804-Schematic.pdf

打开Datasheet
芯片手册S5PV210_UM_REV1.1.pdf

核心板

主要组成部分

  • NAND Flash
    • 128M/256M/512M/1GB SLC
    • 2GB/4GB/8GB MLC
  • Memory
    • 4片DDR2 32bit 512MB
  • Reset JTAG测试点
  • 连接器
  • Power

找到LED的连接管脚,GPJ2_0
打开芯片手册,找到控制GPIO的寄存器,GPJ2CON、GPJ2DAT, GPJ2PUD, GPJ2DRV, GPJ2CONPDN and
GPJ2PUDPDN

通过写入这些寄存器,就可以达到控制GPIO的目的

标签:bin,01,学习,WindowsCE6,Superboot210,Linux,Android,ARM,SD
From: https://www.cnblogs.com/staraire/p/17901208.html

相关文章

  • 02_ARM世界概要
    02_ARM世界概要1.ARM公司介绍成立于1990年11月,前身为Acorn计算机公司主要设计ARM系列RISC处理器内核授权ARM内核给生产和销售半导体的合作伙伴(ARM公司本身不生产芯片)提供ARM架构的开发设计技术(软件工具,评估板,测试工具,应用软件,总线架构,外围设备单元)2.主流芯片(高性能)......
  • 【项目学习】谷粒商城学习记录7 - 认证服务
    【项目学习】谷粒商城学习记录7-认证服务一、环境搭建&准备工作1.创建新模块2.配置依赖pom.xml文件引入common模块,排除gulimall-common包的mybatis-plus将模块添加到注册中心添加配置信息添加服务发现注解启动类添加远程调用注解@EnableFeignClients测......
  • HarmonyOS 实战小项目开发(二)
    HarmonyOS实战小项目开发(二)日常逼逼叨在上期实战项目一中,已经对于练手项目的背景,后端搭建等做了一定的简述,那么本期将结合HarmonyOS页面搭建个人性格测试的移动端。如有一些错误,希望观众老爷们批评指正......
  • 【Python】人工智能-机器学习——不调库手撕深度网络分类问题
    1.作业内容描述1.1背景数据集大小150该数据有4个属性,分别如下Sepal.Length:花萼长度(cm)Sepal.Width:花萼宽度单位(cm)Petal.Length:花瓣长度(cm)Petal.Width:花瓣宽度(cm)category:类别(IrisSetosa\IrisVersicolour\IrisVirginica)1.2要求在不调用机器学习库的情......
  • php深化学习(二)
    为了提高一定效率,我需要一些工具的工具比如composer,vscode,phpstudy,宝塔控制面板composer:是php专门管理包工具。安装看https://docs.phpcomposer.com/00-intro.html教程就行。composer不光是管理工具,还能自动构建加载器,是定制个人框架的必备的。vscode:一个开源的自己自定义的......
  • HarmonyOS:使用MindSpore Lite引擎进行模型推理
     场景介绍MindSpore Lite是一款AI引擎,它提供了面向不同硬件设备AI模型推理的功能,目前已经在图像分类、目标识别、人脸识别、文字识别等应用中广泛使用。本文介绍使用MindSpore Lite推理引擎进行模型推理的通用开发流程。基本概念在进行开发前,请先了解以下概念。张量:它......
  • 【Python】人工智能-机器学习——不调库手撕贝叶斯分类问题
    1.作业内容描述1.1背景数据集大小150该数据有4个属性,分别如下Sepal.Length:花萼长度(cm)Sepal.Width:花萼宽度单位(cm)Petal.Length:花瓣长度(cm)Petal.Width:花瓣宽度(cm)category:类别(IrisSetosa\IrisVersicolour\IrisVirginica)1.2要求在不调用机器学习库的情......
  • Rong晔大佬教程学习(5):ALU单元设计
    之前我们提到,alu一共有两个输入,通过前几章的指令部分,我们可以发现有以下四种情况: 注意:虽然上面有四种情况,但由于本项目的U型指令只实现了lui,也就是立即数左移12位,所以把这一类归为寄存器和立即数,而不是第四种立即数和pc,这个是auipc指令实现的功能。所以下面代码中一共......
  • JVM虚拟机系统性学习-运行时数据区(堆)
    运行时数据区JVM由三部分组成:类加载系统、运行时数据区、执行引擎下边讲一下运行时数据区中的构成根据线程的使用情况分为两类:线程独享(此区域不需要垃圾回收)虚拟机栈、本地方法栈、程序计数器线程共享(数据存储区域,此区域需要垃圾回收)存储类的静态数据和对象数据堆和方法区堆Java......
  • OpenHarmony应用编译 - 如何在源码中编译复杂应用(3.2-Release)
    概述文档环境开发环境:Windows11编译环境:Ubuntu22.04开发板型号:DAYU200(RK3568)系统版本:OpenHarmony-3.2-Release涉及仓库:applications_launcher功能简介在OpenHarmony系统中预安装应用的hap包会随系统编译打包到镜像中,目前有两种编译预安装应用hap包的方式,一种为随系统......