/** * "Example_S32K_GPIO" Project or "Example_S32K_GPIO_IAR" Project * * Author: wjandsq@163.com 2019/10/03 * * all rights reserved http://www.mcu.so * * Modify History: * * 2019/11/09 "Example_S32K_GPIO" Project GCC Optimization Level : Optimize for size (-Os) * 2019/11/09 "Example_S32K_GPIO_IAR" Project Debug OK with IAR Embedded Workbench for ARM Version 8.40.1.21539 * * ----------------------------------------------------------------------------------------------------------------- * * Toolchain and compiler: * * £¨1£©S32 Design Studio for ARM * Version: 2018.R1 * Build id: 180815 * * £¨2£©IAR Embedded Workbench for ARM * Version: 8.40.1.21539 * * SDK Version: SW32K1xx-SDK-RTM-3.0.2 * * ----------------------------------------------------------------------------------------------------------------- * * 1. you can create a new project use SEGGER J-Link, when you want use PEMicro OpenSDA Debug * * you must add "${cross_prefix}gdb${cross_suffix}" in GDB Client Settings\Executable * * 2. Select Device is S32K144FS512M15 * * 3. The "Example_S32K_GPIO" Project is a S32 Design Studio for ARM Project that use GNU ARM GCC 6.3.1 * "Example_S32K_GPIO_IAR" Project is a S32 Design Studio for ARM Project that use IAR Embedded Workbench v8.40.1.21539 * 4. Linker_Files ¡¢bootloader file and RAppID_BL tools. * * "S32K144_64_flash.ld" have been modified to 0x00040000£¬to support S32 Design Studio for ARM GCC 6.3.1 * /* Flash */ * m_interrupts (RX) : ORIGIN = 0x00040000, LENGTH = 0x00000400 * m_flash_config (RX) : ORIGIN = 0x00040400, LENGTH = 0x00000010 * m_text (RX) : ORIGIN = 0x00040410, LENGTH = (0x00080000 - 0x00040410) * * "S32K144_64_flash.icf" have been modified to 0x00040000£¬to support IAR Embedded Workbench for ARM. * * bootloader file is S32K_Bootloader_v104.rbf or S32K_Bootloader.srec * * http://www.mcu.so/src/bootloader/tools/RAppID_BL.7z * http://www.mcu.so/src/bootloader/tools/S32K144_Bootloader_v104.rbf * http://www.mcu.so/src/bootloader/tools/NXP_Toolboxes_patch.txt * * 5. Your can use boot API to receive lpuart1(PTC6¡¢PTC7) data in a S32K144EVB-Q100. * * 6. Your can use boot API to calculate crc16 for YModem . * * 7. Add IAP (In Application Programming) function * * After start YModem srec file transfer by lpuart1£¬send "download" with crc16 ymodem £¬ * then the S32K144 is reset £¬program update is execute¡£ * * 8. GCC Optimization * GCC Optimization Level : Optimize for size (-Os) * * ----------------------------------------------------------------------------------------------------------------- */