交叉编译+Jlink下载程序到SDRAM中运行
来源:互联网 发布:老子三章天下皆知 编辑:程序博客网 时间:2024/05/21 10:12
现在的电脑都很少有并口啦,所以只能通过jlink来烧写了。
在程序的开发调试阶段可以把程序直接烧写到SDRAM中,然后直接运行就行了,不需要烧写到flash中。可以通过jlink cmd来实现。
参考了下面网址上的内容:
http://blog.csdn.net/yanghao23/article/details/7689534
在ubuntu虚拟机上安装了交叉编译器:arm-linux-gcc-3.4.5-glibc-2.3.6
然后用它来编译一个简单的点灯程序:
@******************************************************************************
2 @ File:led_on.S
3 @ 功能:LED点灯程序,点亮LED1
4 @******************************************************************************
5
6 .text
7 .global _start
8 _start:
9 LDR R0,=0x56000010 @ R0设为GPBCON寄存器。此寄存器
10 @ 用于选择端口B各引脚的功能:
11 @ 是输出、是输入、还是其他
12 MOV R1,#0x00000400
13 STR R1,[R0] @ 设置GPB5为输出口, 位[10:9]=0b01
14 LDR R0,=0x56000014 @ R0设为GPBDAT寄存器。此寄存器
15 @ 用于读/写端口B各引脚的数据
16 MOV R1,#0x00000000 @ 此值改为0x00000020,
17 @ 可让LED1熄灭
18 STR R1,[R0] @ GPB5输出0,LED1点亮
19 MAIN_LOOP:
20 B MAIN_LOOP
Makfile:
1 led_on.bin : led_on.S
2 arm-linux-gcc -g -c -o led_on.o led_on.S
3 arm-linux-ld -Ttext 0x0000000 -g led_on.o -o led_on_elf
4 arm-linux-objcopy -O binary -S led_on_elf led_on.bin
5 clean:
6 rm -f led_on.bin led_on_elf *.o
第3行 -Ttext 0x00000000 指定代码段的起始地址是0x00000000
编译后生成led_on.bin。
接下来就是烧写led_on.bin到开发板的SDRAM中了。
要用到SDRAM,首先要初始化SDRAM了,所以先下载一个初始化SDRAM的程序到2440的内部SRAM上(这个就是单片机的RAM,直接可用)。SDRAM初始化程序2440init.bin的下载地址是: http://download.csdn.net/download/yanghao23/4391863
使用jlink commands下载只涉及到:r loadbin setpc g h 。这些命令的意思参考下面网站:
http://blog.csdn.net/liushaowei2008/article/details/7721511
烧写之前要把启动方式拨到NAND方式,使片内SRAM映射到nGcs0.
r
loadbin d:\2440init.bin 0
setpc 0
g
然后就是下载自己要运行的程序了:
h
loadbin \\192.168.10.150\gt2440\hardware\led_on\led_on.bin 0x30000000
setpc 0x30000000
g
0x30000000是开发板上SDRAM的起始地址
- 交叉编译+Jlink下载程序到SDRAM中运行
- Jlink 下载程序到SDRAM运行
- 使用supervivi+DNW下载MDK环境下2440裸机程序到SDRAM中运行
- Jlink 下载裸奔程序到 TQ2440
- 关于Tq2440流水灯才行直接下载到sdram和nand中运行的区别
- S3C2440 跳到 SDRAM 中执行程序
- JLINK程序下载
- linux下openocd+JLink下载程序到stm32
- DSP程序Flash程序下载到RAM中运行
- 定时器中断程序下: 下载到NAND不能运行,,只能下载到内存中运行~~
- stm32中“拔掉jlink”程序无法正确运行
- s3c2440中断程序(烧录到NORFlash,运行在SDRAM中)
- keil环境下载程序到RAM中运行
- TMS320F28027将程序下载到flash中运行
- JLINK烧写BIN文件到nand、norflash、SDRAM
- JLINK烧写BIN文件到nand、norflash、SDRAM
- JLINK烧写BIN文件到nand、norflash、SDRAM
- JLINK烧写BIN文件到nand、norflash、SDRAM
- PHP之——PHPExcel 基本用法详解(插曲)
- arcmap中依据属性分割图层工具
- Spring之ORM模块
- MHA配置_Mysql5.5+centos6.5_完整版
- HashMap源码分析
- 交叉编译+Jlink下载程序到SDRAM中运行
- xcode调试时,变量显示为空
- 操作注册表REG_SZ和REG_EXPAND_SZ的区别
- Hadoop,Hbase开发遇到错误和解决方法记录
- java 内存结构
- JNI java调用动态链接库dll
- 为Bitmap添加圆角
- listview的addHeaderView和addFooterView的几点笔记
- 这段代码哪里出现了错误?大家给我好好分析一下,谢谢