新闻中心

EEPW首页>手机与无线通信>设计应用> 在MAX-IDE中自动初始化数据段

在MAX-IDE中自动初始化数据段

作者: 时间:2011-04-06 来源:网络 收藏

;; This is the free-running code, executed on subsequent power-ups, that copies
;; values from the flash back into their proper data segment locations.

move DP[0], #0F000h ; Source: Flash location 7000h
move BP, #0 ; Dest: Start of RAM
move Offs, #0
move LC[0], #100h ; Copy 256 words
lcall UROM_copyBuffer

jump main

;; This is the first-pass code. A bit of a trick here; becauseenters
;; and exits the loader separately when loading the code and data segment files,
;; the application is allowed to execute briefly before the data segment file
;; has been loaded. The first four lines under copyFlash ensure that the
;; application waits forto load the data segment file before continuing.

copyToFlash:
move DP[0], #0h ; Wait for flag variable to be loaded by.
move Acc, @DP[0] ; Note that this will reset the application; the
cmp #1234h ; data segment is not loaded while the application
jump NE, copyToFlash ; is still running.

move DP[0], #0 ; Start of RAM variable area
move A[4], #7000h ; Location in flash to write to
move LC[0], #100h ; Store 256 words in flash 7000h-70FFh

copyToFlash_loop:
move DP[0], DP[0] ; Refresh the data pointer to read values correctly,
; because calling UROM_flashWrite changes memory
; contexts and affects the cached @DP[0] value
move A[0], A[4] ; Location to write
move A[1], @DP[0]++ ; Value to write (taken from RAM)
lcall UROM_flashWrite
move Acc, A[4]
add #1
move A[4], Acc
djnz LC[0], copyToFlash_loop

main:
move PD0, #0FFh ; Set all port 0 pins to output
move PO0, #000h ; Drive all port 0 pins low (LEDs off)

move DPC, #1Ch ; Set pointers to word mode
move DP[0], #varA
move Acc, @DP[0]
cmp #1234h ; Verify that the variable is set correctly
jump NE, fail

pass:
move PO0, #55h
sjump $

fail:
sjump $

segment data

org 0000h

varA:
dw 1234h

org 00FFh

varB:
dw 5678h

end

结论
MAX-IDE提供的程序段和段工具能够在存储器中声明变量地址,以起始值化这些变量。可以利用应用程序在闪存中缓存这些变量,必要时恢复它们。这种方法允许基于汇编的应用程序使用MAX-IDE提供的装载功能,无论微控制器是否连接JTAG调试器,都能保持工作。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭