|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
我寫的bootloader為什么debug可以,下載卻不行。ǜ酱a) |
| 作者:my1996 欄目:ARM技術(shù) |
bootloader.axf 如果設(shè)置ro=0x30000000,串口可以打印ABCDE bootloader.bin 如果設(shè)置ro=0x00000000,rw=0x30000000 HARDWARE:S3C2410 nandflash 64M,從nandflash啟動(dòng) M_MDIV EQU 0x5c ; Fin=12.0MHz Fout=200.0MHz M_PDIV EQU 0x4 M_SDIV EQU 0x0 WT_CON_BASE EQU 0x53000000 oWTCON EQU 0x00 INT_CTL_BASE EQU 0x4a000000 oINTMSK EQU 0x08 oINTSUBMSK EQU 0x1c CLK_CTL_BASE EQU 0x4c000000 oLOCKTIME EQU 0x00 oMPLLCON EQU 0x04 oUPLLCON EQU 0x08 oCLKDIVN EQU 0x14 GPIO_CTL_BASE EQU 0x56000000 oGPIO_H EQU 0x70 oGPIO_CON EQU 0x00 oGPIO_UP EQU 0x08 gpio_con_uart EQU 0x0016faaa gpio_up_uart EQU 0x000007ff SerBase EQU 0x50000000 oULCON EQU 0x00 oUCON EQU 0x04 oUFCON EQU 0x08 oUMCON EQU 0x0c oUBRDIV EQU 0x28 oUTRSTAT EQU 0x10 oUTXHL EQU 0x20 UTRSTAT_TX_EMPTY EQU (1 << 2) MODEMASK EQU 0x1f UNDEFMODE EQU 0x1b ABORTMODE EQU 0x17 IRQMODE EQU 0x12 FIQMODE EQU 0x11 SVCMODE EQU 0x13 NOINT EQU 0xc0 UART_245 EQU 0x245 UART_BAUD_RATE EQU 115200 ;UART_BRD EQU ((52500000 / (UART_BAUD_RATE * 16)) - 1) UART_BRD EQU ((50000000 / (UART_BAUD_RATE * 16)) - 1) MEM_CTL_BASE EQU 0x48000000 AREA Init, CODE, READONLY ;************************************************************************** ;* assembly code entry point * ;************************************************************************** ENTRY Start ldr pc, =Reset_Handler ldr pc, =Undefined_Handler ldr pc, =SWI_Handler ldr pc, =Prefetch_Handler ldr pc, =Abort_Handler NOP ldr pc, =IRQ_Handler ldr pc, =FIQ_Handler ;Reset Reset_Handler bl CPU_Init ldr r1, =SerBase mov r0, #'a' bl PrintChar ldr r1, =SerBase mov r0, #'b' bl PrintChar ldr r1, =SerBase mov r0, #'c' bl PrintChar ldr r1, =SerBase mov r0, #'d' bl PrintChar ldr r1, =SerBase mov r0, #'e' bl PrintChar bl SDRAM_Init bl Setup_Stack bl Copy_to_Ram bl C_Entry ;************************************************************************** ;* CPU Init code * ;************************************************************************** CPU_Init ldr r0, =WT_CON_BASE ;watchdog disable ldr r1, =0x00 str r1, [r0,#oWTCON] ldr r0, =INT_CTL_BASE ;all interrupt disable ldr r1, =0xffffffff str r1, [r0,#oINTMSK] ldr r1, =0x7ff str r1, [r0,#oINTSUBMSK] ;all sub interrupt disable ldr r0, =CLK_CTL_BASE ; To reduce PLL LOCK time, adjust the LOCKTIME register. ldr r1, =0xff000000 str r1, [r0,#oLOCKTIME] ldr r1, =CLK_CTL_BASE mov r2, #0x3 str r2, [r1, #oCLKDIVN] mrc p15, 0, r1, c1, c0, 0 ; read CTRL register orr r1, r1, #0xc0000000 ; Asynchronous mcr p15, 0, r1, c1, c0, 0 ; write CTRL register ; now ,usb cLOCK is 48MHZ ldr r0, =CLK_CTL_BASE ; Fin=12MHZ, Fout=48MHZ ldr r1, =((0x48 << 12) + (0x3 << 4) + 0x2) str r1, [r0,#oUPLLCON] nop nop nop nop ldr r0, = CLK_CTL_BASE &nbs |
| 2樓: | >>參與討論 |
| 作者: my1996 于 2006/12/5 20:28:00 發(fā)布:
help bootloader.axf 如果設(shè)置ro=0x30000000, 串口可以正常打印出ABCDE bootloader.bin 如果設(shè)置ro=0x00000000,rw=0x30000000 但是這樣reset的時(shí)候不能打印出任何東西。 |
|
| 3樓: | >>參與討論 |
| 作者: wydian 于 2006/12/14 13:54:00 發(fā)布:
先初始化SDRAM |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |