From 6404b063411195408e602f896346baba7d7b338d Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 8 Apr 2014 12:23:01 +0700 Subject: [PATCH] added IAR flash loader for NGX4330 or lpc18/43xx --- mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.board | 9 +++++ mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.flash | 10 ++++++ mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.mac | 31 ++++++++++++++++++ mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.out | Bin 0 -> 48000 bytes mcu/lpc43xx/iar/lpc18xx_43xx_debug.mac | 18 ++++++++++ mcu/lpc43xx/iar/lpc4330_m4_spifi.icf | 6 ++-- 6 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.board create mode 100644 mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.flash create mode 100644 mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.mac create mode 100644 mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.out create mode 100644 mcu/lpc43xx/iar/lpc18xx_43xx_debug.mac diff --git a/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.board b/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.board new file mode 100644 index 000000000..dcc8304c3 --- /dev/null +++ b/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.board @@ -0,0 +1,9 @@ + + + + + C:\Users\hathach\Dropbox\tinyusb\workspace\tinyusb\mcu\lpc43xx\iar\FlashLPC18xx_43xx_SPIFI.flash + + + + diff --git a/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.flash b/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.flash new file mode 100644 index 000000000..95d48ff00 --- /dev/null +++ b/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.flash @@ -0,0 +1,10 @@ + + + + C:\Users\hathach\Dropbox\tinyusb\workspace\tinyusb\mcu\lpc43xx\iar\FlashLPC18xx_43xx_SPIFI.out + 256 + 1 0x4000000 + 0x14000000 + C:\Users\hathach\Dropbox\tinyusb\workspace\tinyusb\mcu\lpc43xx\iar\FlashLPC18xx_43xx_SPIFI.mac + 1 + diff --git a/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.mac b/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.mac new file mode 100644 index 000000000..fdb5506f9 --- /dev/null +++ b/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.mac @@ -0,0 +1,31 @@ +__Setup() +{ + /* set SPIFI clock */ + //LPC_CGU->BASE_SPIFI0_CLK = 1<<24 | 1<<11; /* IRC 12 MHz is good enough for us */ + __writeMemory32( 1<<24 | 1<<11, 0x40051304, "Memory"); + + //LPC_SCU->SFSP3_3 = 0xF3; /* high drive for SCLK */ + __writeMemory32( 0xF3, 0x4008618C, "Memory"); + +/* IO pins */ + //LPC_SCU->SFSP3_4=LPC_SCU->SFSP3_5=LPC_SCU->SFSP3_6=LPC_SCU->SFSP3_7 = 0xD3; + __writeMemory32( 0xD3, 0x40086190, "Memory"); + __writeMemory32( 0xD3, 0x40086194, "Memory"); + __writeMemory32( 0xD3, 0x40086198, "Memory"); + __writeMemory32( 0xD3, 0x4008619C, "Memory"); + //LPC_SCU->SFSP3_8 = 0x13; /* CS doesn't need feedback */ + __writeMemory32( 0x13, 0x400861A0, "Memory"); + + __writeMemory32(0x14000000, 0x40043100, "Memory"); // map SPIFI to shadow area at address 0 +} + +execUserReset() +{ + __message "----- execUserReset\n"; + __Setup(); +} + +execUserFlashInit(){ + __message "----- execUserFlashInit\n"; + __Setup(); +} diff --git a/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.out b/mcu/lpc43xx/iar/FlashLPC18xx_43xx_SPIFI.out new file mode 100644 index 0000000000000000000000000000000000000000..a496babc78ddc6432d947ddc146cfdfaa9fcf846 GIT binary patch literal 48000 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 literal 0 HcmV?d00001 diff --git a/mcu/lpc43xx/iar/lpc18xx_43xx_debug.mac b/mcu/lpc43xx/iar/lpc18xx_43xx_debug.mac new file mode 100644 index 000000000..4bff3d192 --- /dev/null +++ b/mcu/lpc43xx/iar/lpc18xx_43xx_debug.mac @@ -0,0 +1,18 @@ +__Setup(){ +__writeMemory32((int)&__vector_table, 0x40043100, "Memory"); // map BootArea to shadow area at address 0 +__writeMemory32((int)&__vector_table, 0xE000ED08, "Memory"); // map BootArea to shadow area at address 0 +__message "Memory at: ", &__vector_table, " mapped to 0x00000000\n"; +} + +execUserReset() +{ + __message "execUserReset\n"; + __Setup(); + __message "execUserReset Finish\n"; +} + +execUserFlashInit(){ + __message "execUserFlashInit\n"; + __Setup(); + __message "execUserFlashInit Finish\n"; +} diff --git a/mcu/lpc43xx/iar/lpc4330_m4_spifi.icf b/mcu/lpc43xx/iar/lpc4330_m4_spifi.icf index 7ecf99479..abf1ae806 100644 --- a/mcu/lpc43xx/iar/lpc4330_m4_spifi.icf +++ b/mcu/lpc43xx/iar/lpc4330_m4_spifi.icf @@ -55,6 +55,6 @@ place in PD_LOCAL_SRAM_region { section .pd_local_sram }; place in AHB_SRAM2_region { section .ahb_sram2 }; place in ETB_SRAM_region { section .etb_sram }; -place in RAM_region { readonly }; -place in AHB_SRAM1_region { readwrite, - block CSTACK, block HEAP }; \ No newline at end of file +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file