在S3C2440烧写程序

发布者:ArtisticSoul最新更新时间:2022-06-24 来源: eefocus关键字:S3C2440  烧写程序 手机看文章 扫描二维码
随时随地手机看文章

以JZ2440开发板为例,烧录程序到S3C2440。可以使用dnw软件进行烧录。在windows下,一般dnw的驱动都装不好,一般需要禁止数字签名才能装好。所以我们可以把dnw装到linux下,在linux下烧录程序。 


先用filezilla软件和虚拟机里装好的linux建立连接,把dnw移到linux随便一个目录下,比如我是放到/home/book/  这个目录下,然后在在linux终端命令下输入:


sudo cp /home/book/dnw /bin

把dnw复制到/bin目录下。

再输入命令:

sudo chmod +x /bin/dnw

sudo chmod +s /bin/dnw

上面两条是给dnw加上权限


以上操作需要输入密码,输入密码时是看不到密码的,不要被这个给坑了.......


之后输入命令:

/bin/dnw xxx

就可以给开发板烧录程序了,其中xxx为bin文件的目录。


当然,我们还可以用其他方式,通过网线进行烧录,需要一条网线和路由器,当然,不要也行,比较麻烦.......


我们把电脑用网线接到路由器上,再把开发板也用网线接到路由器上,虚拟机上的Linux选择网络桥接,这样实现三者能互ping(其中开发板不会回复,所以只有开发板ping主机,主机ping不了开发板)。


打开tftp软件,目录路径选择bin文件所在的路径。ip选择Windows下的ip。


之后我们启动开发板,进入U boot界面,输入命令:


tftp 30000000 xxx.bin


其中,30000000为SDRAM 的起始地址。


再次输入:


nand erase 0 80000


擦除0x80000字节大小,为准备下载的程序腾出空间


再次输入:


nand write 30000000 0 80000


这是把刚刚下载的bin文件复制到0地址上,复制0x80000个字节


这样,开发板设为nand flash 启动,重新启动开发板,就能看到实验效果了。


当然,如果想烧到Nor Flash上,也是可以的:


tftp 30000000 xxx.bin


其中,30000000为SDRAM 的起始地址,先把程序放到SDRAM 。


再次输入:


protect off all


解除写保护


erase 0 3FFFF


这是从0开始擦除0x40000大小分区,大概256k左右。


再次输入:


cp.b 30000000 0 40000


这是把刚刚下载的bin文件拷贝到NOR FLASH的0地址中,从SDRAM的30000000地址开始拷贝,拷贝0x40000大小。


tftp使用分区下载:

tftp 30000000 uImage_4.3//下载到30000000这个地址

nand erase.part kernel;nand write 30000000 kernel

tftp 30000000 fs_mini_mdev.yaffs2

nand erase.part rootfs;nand write.yaffs 30000000 260000 889bc0


还可以使用nfs烧写程序,不过需要ubuntu自身开启nfs服务


nfs 30000000 192.168.1.106:/work/nfs/uImage//下载到30000000这个地址

nand erase 0 80000//擦除0x80000字节大小,为准备下载的程序腾出空间

nand wirte 30000000 0 80000//把程序复制到0地址上,复制0x80000个字节


或者使用USB下载:


USB下载到NAND:


usb 1 30000000//使用usb(uboot1.1.6上功能)下载到30000000这个地址

nand erase 0 80000//擦除0x80000字节大小,为准备下载的程序腾出空间

nand write 30000000 0 80000//把程序写入nand中,大小0x80000字节



USB下载到NOR:

usb 1 30000000//使用usb(uboot1.1.6上功能)下载到30000000这个地址

protect off all//去除NOR FLASH写保护

erase 0 7FFFF//擦除0x80000字节大小,为准备下载的程序腾出空间

cp.b 30000000 0 80000//把程序复制到NOR的0地址上,复制0x80000个字节


当然,也可以用我们熟悉的J-link下载,不过J-link只能下载到Nor Flash上


需要在Windows上安装J-Flash ARM


J-link下载步骤:

1.File->open project,选择s3c2440.jflash

2.Target->connect

3.File->open,选择u-boot.bin,在Start address输入0

4.Target->Auto


关键字:S3C2440  烧写程序 引用地址:在S3C2440烧写程序

上一篇:uboot-2012.04.01移植到mini2440(一)启动流程、内存分布及重定位初步分析
下一篇:S3C2440 初步接触之程序烧写

推荐阅读最新更新时间:2024-11-12 13:25

s3c2440液晶屏驱动 (非内核自带) linux-4.1.24
对于,不想逐一检查内核自带驱动,想自己编写驱动。 1,make menuconfig 去掉 编译到内核,改为 M 编译为 模块(因为要用到里面的3个.ko 驱动) Device Drivers --- Graphics support --- Support for frame buffer devices --- M S3C2410 LCD framebuffer support 2,make uImage && make modules 生成新内核 和 模块文件 烧写新内核或使用 nfs bootm 使用编译为 M 模块的内核启动。 复制 3个 ko 文件到 文件系统,这里用的是 NFS 网络文件
[单片机]
s3c2440之cpu提速
刚看完韦东山老师的教学视频,写个随笔巩固一下下。 2440芯片上不止有cpu,还有 AHB高速总线(LCD,中断,USB,内存 控制器等),APB低速外设总线(I2C,I2S,GPIO等)。存在3个时钟,FCLK,HCLK(AHB),PCLK(APB). 2440有一个12m的晶振(时钟源),是通过锁相环PLL硬件实现倍频。2440芯片有两个PLL:MPLL、UPLL,时钟源经过MPLL, MPLL和UPLL (供给USB)通过 M、P、S 这3个参数确定FCLK输出频率。MPLL通过HDIVN和PDIVN分频之后确定HCLK和PCLK的频率,通过通过设置MPLL、HDIVN、PDIVN 给CPU提速。 2440CPU 启动过
[单片机]
<font color='red'>s3c2440</font>之cpu提速
s3c2440裸机-内存控制器3-SDRAM原理-cpu是如何访问sdram的
1.SDRAM原理 black (1)SDRAM内部存储结构: (2)再看看与2440连接的SDRAM原理图: sdram引脚说明: A0-A12:地址总线 D0-D15:数据总线(位宽16,2片级联成位宽32) BA0-BA1:bank选择 nSCS:片选 nSRAS:行地址选择 nSCAS:列地址选择 nWE:写使能 SCLK:时钟 SCKE:时钟使能 (3)SDRAM的地址范围: 之前我们讲“二、不同位宽外设与CPU地址总线的连接”这一节的时候,我们留下了一个问题,SDRAM的地址范围是多少? 我们知道地址范围肯定是base_addr + size。我们根据片选接了nGCS6,base_addr=0x30
[单片机]
1.8.2_S3C2440_LCD控制器_P
LCD控制器主要有两个功能,第一是从内存中取出某个像素的数据,第二,配合其他信号把这个数据发给LCD,怎么配合其他信号发送数据则需要阅读LCD的芯片手册,知道LCD的时序要求,设置LCD控制器。 实际上,不管是2440或其他型号的ARM芯片,他们的功能都是一样的,只是控制器略有差异。简单说,就分为两个。 取数据:从FrameBuffer中将数据取出来,需要先把FrameBuffer的地址告诉LCD控制器,还需要将BPP,分辨率告诉LCD控制器。 发数据:把时序告诉LCD控制器,设置引脚的极性(某些LCD是在时钟的下降沿取数据,某些是在上升沿;某些行同步信号HSYNC是在低电平有效,某些是在高电平有效,这些都需要阅读LC
[单片机]
1.8.2_S3C2440_LCD控制器_P
s3c2440裸机-异常中断(三. swi软中断)
#swi(软中断) 我们知道arm有7中工作模式,除了usr模式,其他6种都是特权模式。我们知道usr模式无法修改CPSR直接进入其他特权模式,但linux应用程序一般运行在usr模式,既然usr模式权限非常低,是无法直接访问硬件寄存器的,那么它是如何访问硬件的呢? linux应用程序是通过系统调用,从而进入内核态,运行驱动程序来访问的硬件,那么系统调用又是如何实现的呢,就是通过软中断swi指令来进入svc模式,进入到svc模式后当然就能访问硬件啦。 所以我们的应用程序在usr模式想访问硬件,必须切换模式,怎么切换? 有以下两种方式: 1.发生异常或中断(被动的) 2.swi + 某个值(主动的) 现在介绍如何进入软中断s
[单片机]
<font color='red'>s3c2440</font>裸机-异常中断(三. swi软中断)
S3C2440-中断体系架构
1.ARM的体系与架构 1.1.ARM体系的CPU有以下其中工作模式: 用户模式 (usr) 快速中断模式 (fiq) 中断模式 (irq) 管理模式 (svc) 数据访问终止模式 (abt) 系统模式 (sys) 未定义指令终止模式 (und) 1.2.ARM寄存器: 31个通用寄存器 : R0~R7(未备份寄存器) , R8~R14(备份寄存器) , R15( 程序计数器PC ) 6个状态寄存器 : CPSR( 当前程序状态寄存器) , SPSR(备份程序状态寄存器) 2.ARM状态下当异常发生时, 处理器将切换进相应的模式: 2.1. 当异常发生时, 处理器将自动完成以
[单片机]
S3C2440-中断体系架构
s3c2440裸机-内存控制器(二、不同位宽外设与CPU地址总线的连接)
不同位宽设备的连接 我们先看一下2440芯片手册上外设rom是如何与CPU地址总线连接的。 8bit rom与CPU地址线的连接 8bit*2 rom与CPU地址线的连接 8bit*4 rom与CPU地址线的连接 16bit rom与CPU地址线的连接 16bit*2 rom与CPU地址线的连接 从上面的图中,我们知道可以对2片位宽为8bit的外设扩展级联成1个16bit的外设,同理可用4片位宽为8bit的外设进行级联成1个32bit的外设... 从上面的图中,我们还看见一个规律: 当外设总线位宽为8bit时, 外设A0接CPU的地址总线ADDR , A - ADDR ...A - ADDR 当外设总线
[单片机]
<font color='red'>s3c2440</font>裸机-内存控制器(二、不同位宽外设与CPU地址总线的连接)
PIC 单片机烧写程序时提示Fuse error 0x2007错误
今天在PIC 单片机烧写程序时提示Fuse error 0x2007 该错误的原因主要是因为配置位的错误 没有详细的去研究,大概做个判断 一应该是编译器或者编程软件的错误,有两个位不能读出来,也可能是置代码保护的原因。 当把代码保护的配置位关闭后,该错误消失。 所以目前的解决方法是:在code中关闭代码保护功能。 //********************************************知识补充***********************************************// 在PIC系列单片机里,其芯片内部大都有设置一个特殊的程序存储单元,地址为2007,由单片机的用户自
[单片机]
PIC 单片机<font color='red'>烧写</font><font color='red'>程序</font>时提示Fuse error 0x2007错误
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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