重拾MINI2440板子,各种问题,小结

发布者:ShimmeringMoon最新更新时间:2019-11-20 来源: 51hei关键字:MINI2440  读写内存  SUPERVIVI 手机看文章 扫描二维码
随时随地手机看文章

注意:下载SUPERVIVI后,如果SUPERVIVI运行成功,现象是:       LED1:闪烁
       LED2:熄灭
       LED3:常亮
       LED4:熄灭    
1:JLINK连接后,为什么要使用它内部的SRAM?    JLink 的调试功能、烧写Flash 的功能都很强大,但是对于S3C2410、S3C2440 的Flash 操作有些麻烦:烧写Nor Flash 时需要设置SDRAM,否则速率很慢;烧写Nand Flash 只是从理论上能够达到,但是还没有人直接实现这点。本文使用一个间接的方法来实现对S3C2410、S3C2440 开发板的Nor、Nand Flash 的烧写。原理为:JLink 可以很方便地读写内存、启动程序,那么可以把一个特制的程序下载到开发板上的SDRAM 去,并运行它,然后使用这个程序来烧写。

当从NAND启动时

[size=14.44444465637207px]cpu会自动从NAND flash中读取前4KB的数据放置在片内SRAM里(s3c2440是soc),同时把这段片内SRAM映射到nGCS0片选的空间(即0x00000000)。cpu是从0x00000000开始执行,也就是NAND flash里的前4KB内容。因为NAND FLASH连地址线都没有,不能直接把NAND映射到0x00000000,只好使用片内SRAM做一个载体。通过这个载体把nandflash中大代码复制到RAM(一般是SDRAM)中去执行

[size=14.44444465637207px]当从nor flash启动时

[size=14.44444465637207px]nor flash被映射到0x00000000地址(就是nGCS0,这里就不需要片内SRAM来辅助了,所以片内SRAM的起始地址还是0x40000000). 然后cpu从0x00000000开始执行(也就是在Norfalsh中执行)。

     



2:JLINK连接后,擦写芯片不稳定的解决办法
    在使用JLINK时,用J FLASH擦除与编程S3C2440都很不稳定,这时需要使用下面的步骤;
       1:  接好JLINK和开发板并且开发板在nor启动位置;

       2: 打开j-flash软件

      3: 导入配置文件“mini2440-S29AL016.jflash”,在file-open project打开;

       4:用file—open打开supervivi-128M.bin文件(一定要把开发板光盘即橙色光盘的images目录下的文件      拷贝到硬盘中加上后缀名.bin),起始地址:0.

       5:联机jlink和开发板,点target—connect;

        6:如果联机成功,就可以直接进行其他擦除,烧写操作了,推荐直接用targe—autu(热键F7)
3:串口终端没有数据显示的解决
     在电路设计时,两个串口通信,两块电路板A、B 设计时需要注意:TX_A <-->RX_B; RX_A <-->TX_B;

即在数据通路上要实现交叉;
    基于标准与统一,公母口我们在使用前就要遵循接线标准,如下;按照这个标准,两个公口或者两个母口对接就要使用直连串口线,而不能使用交叉串口线;
             DB9母头/孔型: 引脚序号:2          3            5 
                                          信号定义:TXD     RXD       地 
             DB9公头/针型:  引脚序号:2          3             5 
                                          信号定义:RXD    TXD         地 
    但是很多工程师在设计时没有注意到公母口的区别,设计线路时,如下;这样两个公口或者两个母口对接就要使用交叉串口线,而不能使用直连串口线;
             DB9母头/孔型: 引脚序号:2          3            5 
                                          信号定义:TXD     RXD      地 
             DB9公头/针型:   引脚序号:  2          3           5 
                                          信号定义:TXD    RXD       地 

              ---------------------或者----------------------------------
             DB9母头/孔型: 引脚序号:2          3            5 
                                          信号定义:RXD   TXD        地 
             DB9公头/针型:  引脚序号:  2          3           5 
                                         信号定义:RXD    TXD       地 
       所以,总结,这个需要考察下实际的电路,做出正确的选择,原则就是物理连接要使数据通路交叉。


关键字:MINI2440  读写内存  SUPERVIVI 引用地址:重拾MINI2440板子,各种问题,小结

上一篇:程序的TRACE功能
下一篇:学习嵌入式Linux的笔记和体会

推荐阅读最新更新时间:2024-10-31 15:53

Linux的I2C 设备驱动 -- mini2440 上i2c接口触摸屏驱动
本篇记录在友善之臂 mini2440 平台上挂载I2C接口触摸屏的驱动开发过程。 内核版本linux-2.6.32.2, 平台是ARM9 S3C2440+I2C接口的触摸屏 如上篇 Linux的I2C驱动体系结构讲述 http://www.lupaworld.com/273398/viewspace-204237.html 要挂载新的I2C设备,需要实现3部分: 1) 适配器的硬件驱动: 内核中已经实现mini2440,i2c适配器驱动,可以在如下目录i2c-s3c2410.c中看到相关代码 linux-2.6.32.2/drivers/i2c/busses/i2c-s3c2410.c 2) I2C 设配器的algorithm 同
[单片机]
mini2440裸机开启MMU实验
.text .global _start _start: ldr sp, =4096 @ 设置栈指针,以下都是C函数,调用前需要设好栈 bl disable_watch_dog @ 关闭WATCHDOG,否则CPU会不断重启 bl memsetup @ 设置存储控制器以使用SDRAM bl copy_2th_to_sdram @ 将第二部分代码复制到SDRAM bl create_page_table @ 设置页表 bl mmu_init @ 启动MMU ldr sp, =0xB4000000
[单片机]
成功移植DHCP客户端到mini2440
1,下载源码:http://gd.tuwien.ac.at/infosys/servers/isc/dhcp/ ,选中 dhcp-3.1.3.tar.gz; 2,解压 tar -zxvf dhcp-3.1.3.tar.gz,然后进入./dhcp-3.1.3/,运行配置./configure,之后生成work.linux-2.2文件夹,进入work.linux-2.2/client/,输入make CC=arm-linux-gcc -static ,将编译生成dhclient。 3,拷贝生成的dhclient到mini2440开发板上,为方便使用,可以放在/usr/bin/下;拷贝另外两个配置文件到开发板,分别是 /dhcp-
[单片机]
基于mini2440的USB视频采集
在嵌入式系统中,视频采集主要采用两种接口:一种是标准摄像头接口,一种是USB接口(USB1.1)。标准的摄像头接口,接口复杂,但传输速度快,适合高质量视频采集,而USB接口,接口简单,但有性能瓶颈,只能用于低质量的视频采集。mini2440开发板采用的是S3C2440芯片,S3C2440自带了一个OHCI的USB1.1主机接口和一个CMOS摄像头标准接口。所以mini2440开发板的两种视频采集方式都可以,这里主要介绍基于USB接口的视频采集。因为前一段时间编写了主机上基于GTK的USB视频采集程序,现在需要将其移植到开发板上。 根据主机与开发板环境的不同,需要移植的部分主要就是视频显示部分。在主机上视频显示程序是调用GTK的
[单片机]
uboot-2012.04.01移植到mini2440(一)启动流程、内存分布及重定位初步分析
编译环境:ubuntu9.10 uboot版本:u-boot-2012.04.01 开发平台:mini2440 u-boot-2012.04.01启动流程: 1. 设置为管理模式 2. 关闭看门狗 3. 关中断 4. 设置时钟分频比 5. 跳转到cpu_init_crit执行 a. 禁止MMU、关闭caches b. 跳入到lowlevel_init执行 *. 初始化内存控制器 6. 设置堆栈,为跳入board_init_f做准备 a. 跳入board_init_f执行 *. board_init_f函数中进行了各种初始化,并重新设置了堆栈,为重定位代码做准备 *. 调用
[单片机]
uboot-2012.04.01移植到<font color='red'>mini2440</font>(一)启动流程、<font color='red'>内存</font>分布及重定位初步分析
玩转mini2440开发板之【如何通过vivi的命令行来启动nfs网络文件系统】
前文中说到如何开启了ubuntu 12.04的nfs网络文件系统,那么今天就接下去研究一下如何使用友善之臂的mini2440开发板来进行nfs网络文件系统的启动加载。 如前所述,已经在ubuntu上面配置好了nfs文件系统的目录和服务。我的nfs目录是/opt/FriendlyARM/mini2440/rootfs /mnt/nfs。 此时,根据mini2440的开发板操作手册,便可直接启动开发板,使用nand模式启动,接好电源、串口和网线,上电,便可看到开发板输出的调试信息: ##### FriendlyARM BIOS for 2440 ##### bon part 0 320k 2368k Download
[单片机]
Linux-2.6.32.2内核在mini2440上的移植(六)---添加LCD背光驱动
移植环境 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。 4,开发板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 6,linux 版本:linux-2.6.32.2 7,参考文章: 嵌入式linux应用开发完全手册,韦东山,编著。 Mini2440 之Linux 移植开发实战指南 到目前为止,我们一直都在命令行下移植,查看结果,LCD 屏幕上似乎总是如伸手不见五指
[单片机]
Linux-2.6.32.2内核在<font color='red'>mini2440</font>上的移植(六)---添加LCD背光驱动
AD电阻转换---那些年我们一起玩mini2440(arm9)裸机
ADC驱动程序设计 ADC:模/数转换器。 一种将模拟信号转换成数字信号的装置; DAC:数/模转换器。 一种将数字信号转换成模拟信号的装置。 模拟信号转换为数值信号的步骤: 1. 取值; 2. 量化; 3. 编码; S3C2440ADC S3C2440芯片内部共有8路A/D转换通道AIN0~AIN7,但是转换器只有一个。 转换精度为10位,故转换后的值最小时会接近0,最大时会接近1024. 最大的转换率在2.5MHZ转换时钟下能达到500KSPS(每秒采样5000千次) 在常见的设计中,如mini2440开发板,一般AIN4、AIN5、AIN6、AIN7被用作了四线电阻触摸的YM、YP、XM、XP通
[单片机]
AD电阻转换---那些年我们一起玩<font color='red'>mini2440</font>(arm9)裸机
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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