JZ2440 V3 裸机汇编 闪灯
来源:互联网 发布:linux 7 dns配置 编辑:程序博客网 时间:2024/06/06 02:21
今天整了下基于JZ2440 V3板的裸机汇编闪灯程序。
我使用的环境是WIN10+VIRTUALBOX+UBUNTU。交叉编译器版本,5.4.0
然后,使用gedit新建一个.s文件,输入以下代码
.text
.global _start
_start:
LDR R0,=0X53000000
LDR R1,=0
STR R1,[R0] @CLOSE WDT FIRST!
LDR R0,=0X53000000
LDR R1,=0
STR R1,[R0] @CLOSE WDT FIRST!
LDR R0,=0X56000050
LDR R1,=(0x01<<(2*4))|(0x01<<(2*5))|(0x01<<(2*6))
STR R1,[R0] @GPFCON,OUT
LDR R1,=(0x01<<(2*4))|(0x01<<(2*5))|(0x01<<(2*6))
STR R1,[R0] @GPFCON,OUT
LOOP:
LDR R0,=0X56000054
LDR R1,=0
STR R1,[R0] @GPFDAT,ZERO
BL DELAY
LDR R0,=0X56000054
LDR R1,=0
STR R1,[R0] @GPFDAT,ZERO
BL DELAY
LDR R0,=0X56000054
LDR R1,=0X00000070
STR R1,[R0] @GPFDAT,ONE
LDR R1,=0X00000070
STR R1,[R0] @GPFDAT,ONE
BL DELAY
BL LOOP
DELAY:
LDR R0,=100000
X: SUBS R0,R0,#1
CMP R0,#0
BNE X
MOV PC,LR
LDR R0,=100000
X: SUBS R0,R0,#1
CMP R0,#0
BNE X
MOV PC,LR
然后,使用交叉编译器编译它,每次手动输入的命令又长。我仿写了一个MAKEFILE,实现半自动化编译。然后输出bin文件。再把它复制(这个复制过程可以使用脚本!!!)到共享文件夹下,WINDOWS下也可以看到这个文件了。在WINDOWS下运行OFLASH程序。实现将将文件写入到NAND FLASH 0地址之后的空间。
为了简化烧录过程,我写了一个烧录配置文件。
# 说明:"#"号开头表示注释
# 每个配置占一行,每行有6个参数,分别表示:JTAG类型、CPU类型、Flash类型、读写类型、偏移地址、文件
# 可以在配置文件里写多个配置用来把不同的文件写到不同的Flash、不同的偏移地址去
# jtag(0:openjtag, 1:dongle并口, 2:wiggler并口) cpu(0:s3c2410, 1:s3c2440, 2: s3c6410) flash(0:nand, 1:nor) read/write(0:write, 1:read) offset file
0 1 0 0 0 led_on.bin
# 每个配置占一行,每行有6个参数,分别表示:JTAG类型、CPU类型、Flash类型、读写类型、偏移地址、文件
# 可以在配置文件里写多个配置用来把不同的文件写到不同的Flash、不同的偏移地址去
# jtag(0:openjtag, 1:dongle并口, 2:wiggler并口) cpu(0:s3c2410, 1:s3c2440, 2: s3c6410) flash(0:nand, 1:nor) read/write(0:write, 1:read) offset file
0 1 0 0 0 led_on.bin
然后,我发现还是需要使用cmd命令一步一步进入到目标文件夹下,这个太烦了,写个简单的BAT文件,让它自己处理去。
使用记事本新建一个文本文件,输入
echo on
oflash -f led_on.txt
oflash -f led_on.txt
另存为 "所有文件",加上文件类型,.bat。
当更新了BIN文件后,我只需要点击这个批处理文件就可以实现一键烧程序了。
问题:
1.能否在UBUNTU下直接使用OFLASH,烧录程序?
2.能不能实现自动监测共享文件夹下的BIN文件的更新,而自动启动烧录?
阅读全文
0 0
- JZ2440 V3 裸机汇编 闪灯
- JZ2440裸机安装步骤
- JZ2440裸机程序汇总
- jz2440裸机,文件系统
- 02-JZ2440裸机学习之GPIO实验
- 02-JZ2440裸机学习之存储管理器
- 02-JZ2440裸机学习之NAND FLASH
- 嵌入式学习 DAY1 JZ2440 V3 裸版烧系统
- 初学JZ2440之GPIO汇编点灯
- 02-JZ2440裸机学习之MMU内存管理单元
- i2c裸机-汇编图解(51)
- 裸机_GPIO实验_汇编
- ARM LED裸机实验(gun汇编)
- gec210 led裸机开发 汇编指令
- 一.ARM裸机学习之ARM汇编
- S3C6410裸机中断终于搞定了,不需要汇编 ,使用VIC
- 8086汇编 开机启动程序(裸机运行)
- 《tiny6410裸机程序》第三章:基础汇编test1
- Failed to find Build Tools revision 26.0.1
- 【项目实战】---SQL真分页
- Mysql常用管理语句(v5.7)
- Win10 64bit 搭建android开发环境
- 数据结构第九周项目3--利用二叉树遍历思想解决问题
- JZ2440 V3 裸机汇编 闪灯
- jq——中删除表格某一行案例
- LeetCode题目:42. Trapping Rain Water
- 线性代数之六:特征值与特征向量
- ejb和javabean的区别?
- 171112 Learning Python Chapter 26 Class Coding Basics
- Qt5--QSS学习笔记(一)
- vue组件(一)
- 习题4.1(2)