JZ2440 V3 裸机汇编 闪灯

今天整了下基于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,=0X56000050
 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,=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

然后,使用交叉编译器编译它,每次手动输入的命令又长。我仿写了一个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
 
然后,我发现还是需要使用cmd命令一步一步进入到目标文件夹下,这个太烦了,写个简单的BAT文件,让它自己处理去。
使用记事本新建一个文本文件,输入
echo on
 oflash -f led_on.txt

另存为 "所有文件",加上文件类型,.bat。

当更新了BIN文件后,我只需要点击这个批处理文件就可以实现一键烧程序了。

问题:
1.能否在UBUNTU下直接使用OFLASH,烧录程序?
2.能不能实现自动监测共享文件夹下的BIN文件的更新,而自动启动烧录?



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值