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 ...
随机推荐
- vs2013在使用ef6时,创建模型向导过程中,四种模型方式缺少2种
下载eftool,并安装 https://download.microsoft.com/download/2/C/F/2CF7AFAB-4068-4DAB-88C6-CEFD770FAECD/EFTo ...
- 算法提高 金属采集_树形dp
算法提高 金属采集 时间限制:1.0s 内存限制:256.0MB 问题描述 人类在火星上发现了一种新的金属!这些金属分布在一些奇怪的地方,不妨叫它节点好了.一些节点之间有道路相连 ...
- Druid连接池(二)
DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB ...
- Spring-Boot数据库密码加密配置
springboot集成mysql/oracle时需要在yml/properties中配置数据库信息,用户名密码是肯定有的,所以就涉及到密码的加密,当然不加密也是可以的,正如某位大佬所说的,不加密就像 ...
- 微信小程序之点赞和取消点赞
wxml代码 <image wx:if="{{collection}}" src="/images/boy.png" bindtap="toCo ...
- jquery 倒计时
今天让我公司前端大神,李杨哥,给做了一个jquery倒计时功能 很牛逼 看下面的效果图 这个倒计时是需要传值的,看效果代码讲解 百度云盘 ,压缩包永久有效 链接: https://pan.bai ...
- oracle 数据库、实例、服务名、SID
参考:http://www.zhetao.com/content240 在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance,启动一个Instance之类 ...
- 算法基础_递归_求杨辉三角第m行第n个数字
问题描述: 算法基础_递归_求杨辉三角第m行第n个数字(m,n都从0开始) 解题源代码(这里打印出的是杨辉三角某一层的所有数字,没用大数,所以有上限,这里只写基本逻辑,要符合题意的话,把循环去掉就好) ...
- mybatis+oracle实现简单的模糊查询
第一种 concat select * from cat_table where cat_name like concat(#{catName},'%') --单个百分号 select * from ...
- SpringCloud微服务高级
分布式配置中心 什么是配置中心 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring c ...