eclipse软件仿真操作
1.编写程序代码(以SDRAM为例)
1.1 编写head.s汇编文件
.equ SDRAM_BASE, 0x30000000
.equ MEM_CTL_BASE, 0x48000000 .text
.global _start
_start:
bl disable_watch_dog
bl memsetup
bl copy_steppingstone_to_sdram
ldr pc,=on_sdram
on_sdram:
ldr sp,=0x34000000
bl main
halt_loop:
b halt_loop disable_watch_dog:
mov r1,#0x53000000
mov r2,#0x00
str r2,[r1]
mov pc,lr copy_steppingstone_to_sdram:
mov r1,#0x00
ldr r2,=SDRAM_BASE
mov r3,#*
:
ldr r4,[r1],#
str r4,[r2],#
cmp r1,r3
bne 1b
mov pc,lr memsetup:
mov r1,#MEM_CTL_BASE
adrl r2,mem_cfg_val
add r3,r1,#
:
ldr r4,[r2],#
ldr r4,[r1],#
cmp r1,r3
bne 1b
mov pc,lr .align
mem_cfg_val:
.long 0x22011110 @BWSCON
.long 0x00000700 @BANKCON0
.long 0x00000700 @BANKCON1
.long 0x00000700 @BANKCON2
.long 0x00000700 @BANKCON3
.long 0x00000700 @BANKCON4
.long 0x00000700 @BANKCON5
.long 0x00018005 @BANKCON6
.long 0x00018005 @BANKCON7
.long 0x008C07A3 @REFRESH
.long 0x000000B1 @BANKSIZE
.long 0x00000030 @MRSRB6
.long 0x00000030 @MRSRB7
1.2 编写led.c C程序文件
#define GPBCON *((volatile unsigned long*)0x56000010)
#define GPBDAT *((volatile unsigned long*)0x56000014) int main()
{
GPBCON=0x00000400;
GPBDAT=0x00000000; return ;
}
1.3 编写makefile文件
all:head.o led.o
arm-linux-ld -Ttext 0x30000000 led.o head.o -o sdram.elf
arm-linux-objcopy -O binary -S sdram.elf sdram.bin
arm-linux-objdump -D -m arm sdram.elf > sdram.dis
head.o:head.s
arm-linux-gcc -g -c head.s
led.o:led.c
arm-linux-gcc -g -c led.c
clean:
rm -f sdram.dis sdram.bin sdram.elf *.o
注:必须用all否则编译会报错
2.编译
打开eclipse->project->build all 没有错误可以进行下一步
3.连接JLink
dongry@d-linux:~$ cd arm-tools
dongry@d-linux:~/arm-tools$ ls
ARM-tools
dongry@d-linux:~/arm-tools$ cd ARM-tools
dongry@d-linux:~/arm-tools/ARM-tools$ ls
arm-linux-gcc-4.3.2.tgz eclipse-cpp-helios-SR2-linux-gtk.tar.gz
arm-linux-gdb-7.5 JLink_Linux_V434a
dnw JLink_Linux_V434a.tgz
dnw_usb.ko
dongry@d-linux:~/arm-tools/ARM-tools$ cd JLink_Linux_V434a
dongry@d-linux:~/arm-tools/ARM-tools/JLink_Linux_V434a$ ls
45-jlink.rules JLinkGDBServer libjlinkarm.so.4.34.1 start
JLinkExe libjlinkarm.so. README
dongry@d-linux:~/arm-tools/ARM-tools/JLink_Linux_V434a$ ./JLinkGDBServer //运行JLink
SEGGER J-Link GDB Server V4.34a JLinkARM.dll V4.34a (DLL compiled Aug ::)
4.配置eclipse
虫子->debug configureation->双击Zylin Embedded debug(Native)->单击New_configuration
配置1:main(添加.elf文件)

配置2:debugger

配置3:command(复制粘贴初始化脚本)

eclipse软件仿真操作的更多相关文章
- STM32软件仿真的一个注意点
最近才做的板子由于自己的粗心把串口线搞反了,还好只有两条,飞线解决,而且现在还只是样板,但是还是应该引以为戒,以后做硬件一定要谨慎. 今天同事出差把CAN分析仪拿走了,本来在开发板上调试好的程序不知为 ...
- 单片机Keil软件仿真与调试技巧
一.引言 单片机软件开发过程中,软件调试遇到的各种问题常令初学者感到不知所措.实际上.各种仿真开发软件的程序调试基本方法和技巧大同小异,掌握正确的程序调试基本技巧.对于排查这些程序错误问题可以起到举一 ...
- STM32 PWM的输出与Keil软件仿真
导读:PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值). PWM控制技术在逆变电路中应用最广,应用 ...
- 数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例
一.前言 毕业论文答辩结束,闲下来写篇文章.芯片研发人员都在Linux系统下借助各种EDA工具和代码语言完成工作,因此提高代码开发效率,熟练运用开发工具是十分必要的.本文讲述VIM编辑神器的veril ...
- 用Excel做出比肩任务管理软件的操作技巧
用Excel做出比肩任务管理软件的操作技巧 在项目管理中,网上有各种各样的工具可以选择,到底用哪个,曾一度困扰着我.我是一个有轻度强迫症的人,总是喜欢试用各种各样的系统,以比较他们之间的不同,试图选择 ...
- stm32 MDK5软件仿真之查看io口输出
软件MDK5 stm32的pack 打开MDK,添加工程 一.首先找到Project的Options选项,里面的Debug选为Use Simulator,也就是选择软件仿真. 然后再Logic ...
- Uvision5不能进行软件仿真
Uvision5不能进行软件仿真不能进行软件仿真,报错: error 65: access violation at 0x40021000 : no 'read' permission(软件仿真出错) ...
- [eclipse] 三个操作技巧
[eclipse] 三个操作技巧 1.快捷键Ctrl+Shift+i:Debug调试中直接获取方法的返回值 在下图代码中,想知道getHost(),则在调试时运行完该句代码后,选中"urlU ...
- 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project
使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题: 1.Eclipse总是卡死的解决办法: 一:内存不足所以会卡死,配置一下eclipse.ini修改这几个值就好了-X ...
随机推荐
- Linux ReviewBoard安装与配置
目录 0. 引言 1. 安装步骤 2. 配置站点 2.1 创建数据库 2.2 开始安装 2.3 修改文件访问权限 2.4 Web服务器配置 2.5 修改django相关配置 正文 回到顶部 0. 引言 ...
- mac 远程连接 云服务器
之前mac 命令行连接云端服务器,一直失败,今天问题突然间解决了,如果遇到类似的问题,按照方法解决不了,可以在下面留言,共同探讨. 首先,在云端先判断一下云端服务器是否安装了 ssh服务器:op ...
- hive 限制本地内存使用量
hive.mapred.local.mem Mapper/Reducer 在本地模式的最大内存量,以字节为单位,0为不限制. hive-default.xml <property> < ...
- 360自带--JS开发工具箱
360自带–JS开发工具箱 360自带–JS开发工具箱 360自带–JS开发工具箱
- android不知不觉偷拍他人功能实现(手机关闭依然拍照)【申明:来源于网络】
android不知不觉偷拍他人功能实现(手机关闭依然拍照)[申明:来源于网络] 地址:http://blog.csdn.net/huangxiaoguo1/article/details/536660 ...
- 在Mac上 python中使用tesseract OCR (Pytesser) 识别图片中的文字
仓库地址:https://github.com/RobinDavid/Pytesser brew install tesseract sudo pip install opencv-python 安装 ...
- TestFlight 的使用记载
TestFlight: TestFlight内测网上很多资料.大概是先打包,然后在App Store Connect 里添加测试员的邮箱地址. Testflight.top:公测要用到test ...
- Hibernate 补充 ManyToOne、OneToMany、OneToOne的使用例
1.前言 Hibernate 为程序员提供一种级联操作,在编写程序时,通过 Hibernate 的级联功能可以很方便的操作数据库的主从表的数据, 我们最常用的级联是级联保存和级联删除. ...
- spring 事务注解
在spring中使用事务需要遵守一些规范和了解一些坑点,别想当然.列举一下一些注意点. 在需要事务管理的地方加@Transactional 注解.@Transactional 注解可以被应用于接口定义 ...
- 【UML】NO.46.EBook.5.UML.1.006-【UML 大战需求分析】- 用例图(Use Case Diagram)
1.0.0 Summary Tittle:[UML]NO.46.EBook.1.UML.1.006-[UML 大战需求分析]- 用例图(Use Case Diagram) Style:DesignPa ...