第1课:S3C2440的烧写

发布者:悠闲之旅最新更新时间:2016-08-06 来源: eefocus关键字:S3C2440  烧写 手机看文章 扫描二维码
随时随地手机看文章
首先明确要学什么?

1写Bootloader。会以u-boot为例。

2改内核。用ARM编译器对linux内核进行编译。并移植驱动

3制作文件系统,把shell放入开发板(串口shell),把应用程序植入。

 

那么先来介绍开发板的硬件:

现在手上拿到的是山寨的2440开发板,分上层核心板和下层母板。

有1个arm的cpu(片上系统,里面还包括外设,不只一个cpu),2个32m的内存,一个flash,和一个晶振提供的时钟。

母板则为4.3寸触摸屏和LCD屏(2个屏要分开驱动),USB的3个host端和1个device端。RJ45网络端口。Rs232串口(15电压)。

JTAG仿真接口。SD卡槽。3个指示灯。音频输入输出口。gps芯片。

 

一下介绍pc机与开发板直接的连接方式。

            usb,并口<-------------------------------->JTAG

           <------------------------串口----------------------->

PC      <------------------------网络----------------------->           ARM开发板

           <------------------------usb------------------------>

还有一类叫wiggier仿真器,可以进行flash烧写和简单的调试。

 

接下来介绍整个开发板的烧写流程。

1我们使用openjtag对裸板进行烧写。OPENJTAG仿真器网上都有卖。它通过把写好的u-boot,uimage放入开发板内存,再通过烧写flash,把内存中的u-boot程序烧如flash中。

2利用网络来巧妙安装系统。先执行minicom -s来启动minicom,在serial port setup中A选/dev/ttyS0, E选115200 8N1.然后关闭hardware flow control。最后选save setup as dfl。minicom就可以控制开发板了。

在开发板开机后按空格,可进入u-boot的命令行。

我们利用linux上的nfs把剪裁好的linux与linux系统的压缩包先挂载在nfs服务器上,然后通过网线把开发板和pc机连起来,修改u-boot的环境变量,让他从网络加载。之后定制的linux系统便起来了,然后把先前一起加载的压缩包解压缩,解压缩的文件自动烧入flash中,完成烧写。之后把u-boot的环境变量改回来就行了。

以下是具体的执行代码

1启动openjtag。

2执行脚本

 a,  >halt                                                                         使开发板的cpu暂停
 b,  >arm920t cp15 2 0                                                   协处理器命令来关闭mmu
 c, >init_2440                                                                 对开发板进行初始化
 d, >halt
 e, >arm920t cp15 2 0
 f, >load_image /u-boot.bin 0x33f80000     把u-boot放入内存
 g, >load_image /uImage 0x32000000          把uImage放入内存
h, >resume 0x33f80000                                                  从u-boot位置开始运行
 
 i,minicom  #help nand
 j,  #nand erase                                                              清除flash
 k,  #nand write 33f80000 0 40000                                把内存中的u-boot写入flash中
 l,  #nand write 32000000 100000 200000                    把内存中的uImage写入flash中
 m,  #reset                                                                       重启

3在linux下执行一下步骤

 a,mkdir /work/root;chmod 777 /work/root                      新建工作目录,并把权限位设置到最高
 b,tar zxvf root.tgz -C /work/root                                     解压当前目录下的文件系统压缩包
 b,mv root.tgz /work/root                                                并把该压缩包一同放入工作目录
 c,vi /etc/exports ,添加一行 /work/root *(rw,sync,no_root_squash)  配置nfs的配置文件
 d,services nfs restart                                                    重启nfs服务
 e, minicom >setenv bootargs root=/dev/nfs rw nfsroot=192.168.1.3:/work/root  ip=192.168.1.8:192.168.1.3:255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M           在minicom中的开发板的uboot下改变环境变量,让开发板通过网络从主机端启动工作目录下的文件系统。(这里主机端的ip位用ifconfig eth0 +ip来设)
 h, >printenv
 ti, >boot

4之后你会发现开发板的linux系统已经启动,之后继续通过minicom操作开发板

a,minicom >mount /dev/mtdblock2 /mnt                           把flash设备挂载到mnt里
 b, >tar zxvf root.tgz -C /mnt                                             把刚刚的压缩包直接解压到flash设备中,完成操作系统的烧录
 c, >reboot                                                                        重启

d,minicom >setenv bootargs root=/dev/mtdblock2 console=ttySAC0 mem=64M    重启后在u-boot里把环境变量改成从flash启动

e.>boot

 

这样就是一个完整的烧录过程。而其中的u-boot uImage 与 操作系统的定制。我们将在以后的课程中来编写。

关键字:S3C2440  烧写 引用地址:第1课:S3C2440的烧写

上一篇:ARM指令学习笔记
下一篇:第2课:ARM汇编学习

推荐阅读最新更新时间:2024-03-16 15:03

S3C2440 ADC详解
S3C2440拥有八通道的十位ADC, 最大转换率为2.5MHz A/D转换器时钟下的500KSPS。A/D转换器支持片上采样-保持功能和掉电模式的操作。 八个通道中有四个通道适用于电阻屏的触摸屏触摸检测,另外四个是模拟输入,分别是A , ADC的使用极其简单,选择时钟à选择通道à启动转换à转换完成 主要用到如下几个寄存器 负责选择时钟通道以及启动ADC 这里读取ADC的值 注意这一位,这说明转换完成读取的时候还可以触发转换,也就是相当于连续转换 Adc.c #include adc.h //=================================================
[单片机]
<font color='red'>S3C2440</font> ADC详解
基于S3C2440 处理器的支持IPv6协议防火墙设计实现
1 引言 在众多的网络安全设施中,防火墙是行之有效的重要网络安全设备,通过对网络通信进行筛选屏蔽以防未经授权的访问进出计算机网络。防火墙是位于可信网络和不可信网络之间的一道安全屏障,其最核心的任务就是管理和控制进出网络的通信量,它可以截获中途传输的数据包并进行处理,然后与事先定义好的安全策略规则相比较,并最终决定转发或丢弃该数据包。传统的防火墙通常位于一段网络的边界,它可以很好的过滤外界用户对内部网络的访问,但对内部网络的攻击却无能为力。针对此问题近年来关于新型防火墙的研究有很多,如分布式防火墙系统,嵌入式防火墙系统等。这些系统的目的是将防火墙的边界延伸,使其能够遍布网络的每一个终端设备,构建全方位的安全防护网络。 现有防火墙
[单片机]
基于<font color='red'>S3C2440</font> 处理器的支持IPv6协议防火墙设计实现
JZ2440开发板烧写系统
注意USB烧写方法: 1、因为没有裁剪的u-boot达到500K,但是我们自带的u-boot烧写分区没有这么大,所以不能使用u-boot来烧写u-boot,只能使用u-boot里的指令来烧写: 烧写到nand flash: usb 1 30000000 用DNW发送文件过去 nand erase 0 80000 nand write 30000000 0 80000 把开关拨到nand重启有输出,说明现在支持了nand启动 烧写到nor flash: usb 1 30000000 //1表示一直等待 用DNW发送文件过去 protect off all //解除norf
[单片机]
移植u-boot-2010.09到S3C2440(六)—— SDRAM地址与容量的计算
对于 GEC2410 开发板,SDRAM 的物理起始地址是 0x30000000,结束地址是0x34000000,大小是64Mbytes。 我有个疑问?为什么SDRAM 的物理起始地址是 0x30000000,结束地址是 0x34000000,得出的大小是64Mbytes? 因为容量是用10进制显示的,故我们得把0x34000000-0x30000000=0x4000000转换成10进制。(转换方法见附) 4*16^6+0*16^5+0*16^4+0*16^3+0*16^2+0*16^1+0*16^0=67108864(Byte) 一般不要用十六进制转成二进制,二进制转成10进制方法算那个比较麻烦: 0x4000000=0
[单片机]
uboot4--使用jlink烧写mini2440的uboot
Nor Flash烧写过程 uboot ----- SDRAM ----- Nor Flash 因此我们要设置CPU、SDRM地址、Nor Falsh地址 初始化代码 /********************************************************************* * * SEGGER J-Link ARM Setup File - Generated by J-Flash ARM V4.08l * * Syntax: * * SetJTAGSpeed(Speed); : Sets the JTAG speed , (0 = Auto, 0xFFFF = Ad
[单片机]
uboot4--使用jlink<font color='red'>烧写</font>mini2440的uboot
s3c2440 LCD(sony x35)
一、lcd 屏的分类 STN是早期彩屏的主要器件, 一般的STN仍然是256色的,优点是:价格低,能耗小。 TFT的亮度好,对比度高,层次感强,颜色鲜艳。缺点是比较耗电,成本较高。 UFB是专门为移动电话和PDA设计的显示屏,它的特点是:超薄,高亮度。可以显示65536色, 耗电比TFT少,价格和STN差不多。 OLED (Organic Light Emitting Display)即有机发光显示器,在手机LCD上属于新型产品,被称誉为“梦幻显示器”。OLED显示技术与传统的LCD显示方式不同,无需背光灯。 在mini2440 中 我们使用的是sony 的X35 lcd ,属于TFT屏。 二、LCD
[单片机]
<font color='red'>s3c2440</font> LCD(sony x35)
分页烧写Flash的多页程序并行自举方法
摘 要:以TMS320VC5410为例,介绍对Am29LV200B Flash存储器进行程序分页烧写以及上电后多页用户程序并行自举的方法。对多页Flash存储器的烧写,须在烧写过程中对已烧写的数据长度进行动态判断,当达到预定烧写长度后对Flash进行换页,然后继续烧写,重复上述换页过程,直到程序烧写完为止。对多页程序的并行自举,在系统上电后,利用TI提供的自举程序,将一个用户自己编写的前导程序载入DSP,利用该前导程序将多页程序载入DSP来实现程序的自举。此方法适用于多种FIash芯片和C5000系列DSP。 关键词:TMS320VC5410 Am29LV200B DSP 多页并行自举 TI公司的DSP芯片TMS320Vc5
[缓冲存储]
s3c2440时钟频率设置
时钟源选择 在nRESET的上升沿锁存OM 引脚,两个引脚在原理图中都接地,所以都为低电平。所以MPLL的时钟源来源于晶振;UPLL的时钟源也来源于晶振。 2. 配置流程 t1时刻:上电后,晶振起振,FCLK直接由晶振产生; t2时刻:nRESET拉高,OM 被所存,晶振作为MPLL与UPLL的输入,但是由于MPLL与UPLL还未配置,所以FCLK还是工作于晶振时钟; t3时刻:软件设置PLL CONTROL REGISTER (MPLLCON & UPLLCON)寄存器,配置MDIV、PDIV、SDIV的值,决定MPLL与UPLL的输出频率;紧接着设置CLOCK DIVIDER CONTROL (CLKDIVN)寄存器,
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved