sdram 裸机程序】的更多相关文章

硬件平台 :JZ2440 实现功能:将led闪烁代码从2440的2k sram中拷贝到sdram start.s      -->   上电初始化,拷贝代码 sdram.c   -->   led代码 start.s 源码: .equ MENRI_BASE, 0x48000000 .equ SDRAM_BASE, 0x30000000 .text .global _start _start: bl close_watchdog bl sdram_set bl copy_sram_to_sdra…
开发板:EB-SAM9G45 这里提供一种裸程序下载的方法. 在官方提供的下载方法中有手动下载和自动下载,它们都离不开SAM-BA软件,而该软件使用比较麻烦,而且操作不当很容易导致电脑蓝屏,还有一个很大的缺点是,每次他都将裸机程序烧写到NANDFLASH当中,容易导致NANDFLASH出现坏块. 一种新的方法: l 安装SAM-BA软件 l 断开JP2跳线,复位开发板. l 点击“开始”->“所有程序”->ATMEL Corporation -> AT91-ISP v1.13 ->…
因为前面的裸机程序非常的简单,就不写博了. 程序的流程: 1,初始化C SP 2,关看门狗 3,初始化SDRAM 4,读出 NAND FLASH 中的 包含图片的程式放到SDRAM里面 5,跳转到SDRAM 执行 因为 2440 自动只读取4K 到 SRAM ,在里面放了图片,自然就不够用了. 就多了一步放到 SDRAM 里面去. 我并没有直接复制教程上面的程式,那个上面比较复杂.用到了c 的 库文件. 教程中只是画线,画圆线很简单. 刚一开始,我是使用 24BPP 开发的,这样遇到的问题还比较…
CPU:S3C2440, ARM920T, Internal 4KB RAM, Support boot from NAND flash, 128MB for each bank. JZ2440:Memory接到Bank6,所以内存地址从0x3000,0000(128MBx6)开始. Nand 256M 8bit,SDRAM 64M 32bit,Nor 2M 16bit. Keil-MDK5已经不支持ARM9,需要安装额外的pack支持:http://www2.keil.com/mdk5/leg…
本文转载自:http://blog.csdn.net/eshing/article/details/37407423 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   一.实验原理 上一章已经解释的很清楚了,如何将所要运行的user_bin程序定位到DRAM中,这一章要进行重定位到DRAM后运行LCD程序,实际上一章中BL2中程序可以不用改动,直接重写我们的USER目录下的程序即可,将USER目录下的LED灯闪烁程序用LCD程序替换就行,最后编译出的程序名字也叫us…
本文转载自:http://blog.csdn.net/eshing/article/details/37116637 一.关于DRAM 上一章我们讲解了如何对代码进行重定位,但是将代码重定位到只有256K IRAM中作用不大. 正确的做法是将代码重定位到容量更大的主存中,即DRAM.Exynos4412中有两个独立的DRAM控制器,分别叫DMC0和DMC1.DMC0和DMC1分别支持最大1.5G的DRAM,它们都支持DDR2/DDR3和LPDDR2等,512 Mb, 1 Gb, 2 Gb, 4…
本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序. 说明: 一.平台: 操作系统:Windows XP系统 KEIL版本:4.73 开发板:ARM9(S3C2440) 二.建立工程:   1.新建工程,选择S3C2440A处理器: 2.对工程进行设置 1)设置RAM.ROM地址: RAM1: Start:0x30000000 Size:0x200000 ROM1: Start:0x30200000 Size:0x200000 2)生成Hex文件 3)设置生成.0 .bin .…
1:安装tftp:#apt-get update#apt-get install tftp-hpa tftpd-hpa xinetd2:#cd /srv#mkdir tftp#chmod 777 tftp3:复制一个led.bin文件进tftphttp://pan.baidu.com/s/1kTS7MGv4:重新启动服务# /etc/init.d/xinetd restart# /etc/init.d/tftpd-hpa restart5:接着启动 GEC210 开发板后,进入 uboot 命令…
Mini6410上最简单的LED点灯裸机程序 : 实验环境: 根据友善教程,要用ADS,据说现在都不用这个了,但是为了打开友善给的mcp工程,就下了一个,Win7下弄上兼容模式和管理员权限,再下一个SecureCRT代替超级终端. 一定要,把AXD也设置上. secureCRT的配置:选择Serial串口,波特率115200,端口号:USB转串(去驱动程序查端口号,今天插了一个COM4,一个COM5) 实验步骤: 配置好了以后,打开CodeWarrior编译mini6410-led.bin文件…
FreeRTOS命名及变量规则 初学FreeRTOS的用户对其变量和函数的命名比较迷惑,    FreeRTOS的核心源代码遵从MISRA编码标准指南,关于MISRA编码标准,可以查看文章https://wenku.baidu.com/view/5e7b2f4ee518964bcf847c99.html.下面专门做一下介绍: 变量  uint32_t定义的变量都加上前缀ul.u代表unsigned 无符号,l代表long长整型.  uint16_t定义的变量都加上前缀us.u代表unsign…
硬件平台:MDK972-EK开发板编译调试软件:KEIL uVision4仿真工具:JLINK V7/V8   本例子从串口输出信息,如图:       KEIL uVision4调试设置如图所示:   开发板启动方式设置:1.需要禁用硬件看门狗和使能JTAG引脚功能,如图所示:  2.可以将开发板设置于USB启动方式,或设置为其他启动方式,然后烧写U-Boot,使开发板停在U-Boot命令行对开发板进行仿真.    上面的仿真采用的是U-Boot命令行方式,若开发板烧写有Linux系统,则在开…
我们还是使用JZ2440学习笔记之第一个裸机程序(Keil-MDK)里面的程序,但是把延时拿掉,要不然单步的时候一直在delay里面: int main(void) { // Set GPF4/5/6 as output. GPFCON = GPF4_out|GPF5_out|GPF6_out; // Pull down will light led, so pull up here. GPFDAT = 0xFF; ){ // Delay(); GPFDAT = 0xEF; // 1110,11…
需要安装openocd软件.如果已安装默认的openocd,需要先卸载系统默认的openocd(默认版本是0.5.0,版本太低),然后再安装. 在安装前需要安装libusb库文件: -dev libusb-1.0-0 automake autconf libtool pkg-config 然后执行安装: git clone git://git.code.sf.net/p/openocd/code openocd cd openocd ./bootstrap ./configure --prefi…
arm裸机程序启动流程 1373 Linux系统的引导: 一个SOC拿过来,它是有内部BROM和SRAM的,这个BROM中会固化芯片厂商的最初引导代码,我们叫它RBL(ROM boot loader),它是SOC上电后开始运行的地方,它会判断是哪种启动方式,如果是nand启动,就会从nand的起始地址处读取UBL(user boot loader)并且复制到ARM的内存里面,也就是上面说的片内SRAM,UBL运行在ARM的内存里,初始化系统,例如初始化DDR.然后UBL从NAND Flash里面…
ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境 系统:  ubuntu16.04 裸板: 飞凌公司OK6410开发板 目标:搭建基于ubuntu1604系统和基于RAM的裸机程序开发环境 1.安装配置ckermit 在ubuntu1604下一般做裸板开发时都是使用ckermit作为远程通讯终端,下面我们就开始讲解下其安装与配置. 1.1.安装ckermit 在ubuntu系统下安装ckermit,使用 sudo  apt-get  install  ckermi…
本文转载自:http://blog.csdn.net/eshing/article/details/37410571 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   一.实验原理 大家可能会有疑问,不是在BL2目录中的mem_init_tiny4412.S实现了串口初始化了,且也有串口输出函数,要不然怎么串口调试助手上怎么会有打印信息呢,这里为什么还要重新初始化?其实我觉得也可以不用重新初始化,但至少也要实现Printf()这个标准函数里要调用的串口输出函数吧,因…
本文转载自:http://blog.csdn.net/eshing/article/details/37109115 首先.我想说明为什么我写这个文档?我自己想学点东西,过于求成,又过于自信,直接买了Tiny4412的板子,但网上关于4412的资料太少,我一直没办法啃动,只能尽可能找来各种相关资料进行参考分析.我想在U-Boot程序中加入LCD显示功能,但始终都没有正常点亮LCD,放弃的心都有了,后来在网上找到一份<Linux平台下Mini210S裸机程序开发指南>的文档,我觉得写的挺清楚的,…
按照韦东山的视频中 sdram的裸机代码,写了一份,通过 minitools 下载到 0x30000000,然后烧录到 nand中,接过不能正常运行. 尝试过多种方法后,只有一种解决方法,就是不要用 0x30000000这个地址. 可以把 makefile 中的地址改为0x30008000,minitools 中下载的地址也改为 0x30008000,这样就可以正常的运行了. 可能 0x30000000 前面的一些内存被使用了? 后来换了一个 TQ2440的开发板,不使用 minitools,而…
今天在 写了个简单的 led 的汇编程序,下载到 mini2440 的 nand flash 里面可以正常运行,但是下载到 sdram 里面不能运行. 后来发现有几个注意点, 要在 sdram 中运行,链接脚本的地址不能像 nand 里面一样是0,必须是 sdram 里面的地址,比如说 0x30000000. 下载到 ram 中的地址必须和 链接脚本的地址一致. 0x30000000 这个地址不行,0x30008000 这个地址肯定没有问题,0x30000020 超过这个地址,也都可以运行,0x…
首先用的是 keil4  位与   ( F:\ARM+LINUX\MDK-ARM_v4.10.exe  ) 1. 新建工程名project 为    led circle   ,放在  我的文档\ ledcircle 文件夹下面 选择目标板为 s3c2440 , 不添加 初始化启动代码 ,选否 2.编写代码(这里直接用的是光盘或者 D:\我的文档\mdk )下面的 三个源文件的代码: 修改了两处,不然运行不起来    BX lr     替换了原来的   mov pc, lr 3. 把 编写好的…
一.集成开发环境 软件部分:eclipse , GDB Server , Jlink软件 硬件部分:Jlink硬件 准备工作1:从SD/NOR Flash启动,格式化nand flash 准备工作2:硬件连接 1. Jlink连接 2. 串口连接 3. nand启动 二.安装GDB Server 解压:tar xvzf arm-linux-gdb-7.5.tar.gz 进入目录:cd arm-linux-gdb-7.5 编译安装:./build-all 上面执行好后,gdb工具就安装好了,安装在…
折腾了很久 终于解决了 从SDRAM中运行APP程序. 说明:LPC1788 本身有512K的flash和96K的RAM.支持TFT和SDRAM 这算是跟别家cortex-M3架构MCU相比较的一个亮点.我这个项目需要使用GUI,NXP有免费的emwin库,这也是一个极大的便利.我这个项目显示图形比较多,没有配置SD卡或NorFlash,硬件的大致结构式 LPC1788+NandFlash(4M)+SDRAM(16M)+4.3寸TFT. 运行过程中显示的图片比较多,客户方不想把图形以及字库文件存…
常用的烧写方法有: 1.使用并口工具烧写:接线(参考百问网JZ2440V2开发板使用手册),使用oflash烧写(速度比较慢),可烧写.bin文件,从新上电观察效果.可烧写u_boot. 2.使用openJTAG烧写,接线,使用oflash烧写(oflash烧写完后,会复位开发板). 3.使用Jlink烧写,请看如何烧写S3C2440裸板程序:JLink只支持烧写Nor Flash,不支持Nand Flash. 所以:选择J-link烧写u-boot 这是烧写代码的基础,因为开发板j-link不…
在前边我们使用汇编完成了一个流水灯实验: Tiny4412汇编流水灯代码,Tiny4412裸机LED操作 ---- - -- -- -- - -- -- 修改: # ${MKBL2} ${SOURCE_FILE} bl2.bin 14336                                 ./${MKBL2} ${SOURCE_FILE} bl2.bin 14336 或者: MKBL2=my_mkbl2改成MKBL2=./my_mkbl2 必须有:chmod +x my_mkbl…
如题,实现过程中发现3额问题,先写下来,待解答: 1.uboot启动后再dnw上打印许多信息,我想改变其中的打印信息或加上自己的打印信息以证明程序运行到何处.修改完后重新编译uboot.bin. 在DNW下执行dnw 50008000 USB下载uboot.bin到内存50008000处, go 50008000,从内存50008000处运行我刚下载的程序,发现我修改的内容并未显示. 重新执行dnw 50008000,nand erase 0 100000,nand write.uboot 50…
图挂了可以去 https://github.com/tanghammer/mini2440_peripherals/blob/master/nand/debug_nand.md 按照前面sdram的代码,启动代码里面关看门狗.初始化存储控制器(主要是BANK0的Norflash和BANK6的SDRAM).设置栈到SDRAM的最高地址,text段的数据直接从Norflash里面取. 代码如下: head.S @********************************************…
它包含7个文件: head.S init.c main.c Makefile nand.c nand.lds 我们之前的程序都是在nandflash的前4k放代码,上电后自动拷贝到SRAM中,之后将SRAM中的代码拷贝到SDRAM中.可是当我们的程序太大超过4k的时候就不行了,因为无法将nandflash的代码完全拷贝到SRAM中去,这时就需要从nandflash中拷贝代码了. 本程序里面我们要实现的就是:将一部分代码放在nandflash的4096之后,上电后,前面一部分代码自动拷贝到SRAM…
本文转载自:http://blog.csdn.net/eshing/article/details/37115411 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   一.什么是cache 基于程序访问的局限性,在主存和CPU通用寄存器之前设置了一类高速的.容量较小的存储器,把正在执行的指令地址附件的一部分指令或数据从主存调入这类存储器,供CPU在一段时间内使用,这对提高程序的运行速度有很大的作用.这类介于主存和CPU之间的高速小容量存储器称作高速cache.比较常…
 mini2440之Main分析 2012-03-17 20:51:29 分类: 嵌入式 /**************************************************************** NAME: u2440mon.c DESC: u2440mon entry point,menu,download HISTORY: Mar.25.2002:purnnamu: S3C2400X profile.c is ported for S3C2410X. Mar.27.…
StarterWare在AM335X上的烧录运行 步骤:1.下载安装StarterWare,我们团购的SK需要02.00.00.07版本.最近外网访问慢,我上传到论坛.2.找一张miniSD卡,不需要很大,系统只有几个M而已.3.如果你按默认路径安装,那请去C:\ti\AM335X_StarterWare_02_00_00_07\tools\sd_format下面执行TI_SDCard_boot_utility_v1_0.exe4.在路径 C:\ti\AM335X_StarterWare_02_…