实例介绍
基于S32K118的Bootloader,一个程序是串口转CAN,通过Xmodem协议传输,一个是Bootloader,内含覆盖升级和回滚升级,注释详细,下载后可直接使用。
【实例截图】
【核心代码】
S32K118_Bootloader
├── Bootloader_S32K118
│ └── Bootloader_S32K118
│ ├── Debug
│ │ ├── Bootloader.args
│ │ ├── Bootloader.map
│ │ ├── Bootloader_S32K118.args
│ │ ├── Bootloader_S32K118.elf
│ │ ├── Bootloader_S32K118.map
│ │ ├── Generated_Code
│ │ │ ├── Cpu.args
│ │ │ ├── Cpu.d
│ │ │ ├── Cpu.o
│ │ │ ├── Flash1.args
│ │ │ ├── Flash1.d
│ │ │ ├── Flash1.o
│ │ │ ├── canCom1.args
│ │ │ ├── canCom1.d
│ │ │ ├── canCom1.o
│ │ │ ├── clockMan1.args
│ │ │ ├── clockMan1.d
│ │ │ ├── clockMan1.o
│ │ │ ├── dmaController1.args
│ │ │ ├── dmaController1.d
│ │ │ ├── dmaController1.o
│ │ │ ├── lpTmr1.args
│ │ │ ├── lpTmr1.d
│ │ │ ├── lpTmr1.o
│ │ │ ├── pin_mux.args
│ │ │ ├── pin_mux.d
│ │ │ ├── pin_mux.o
│ │ │ └── subdir.mk
│ │ ├── Project_Settings
│ │ │ └── Startup_Code
│ │ │ ├── startup_S32K118.args
│ │ │ ├── startup_S32K118.o
│ │ │ └── subdir.mk
│ │ ├── SDK
│ │ │ ├── platform
│ │ │ │ ├── devices
│ │ │ │ │ ├── S32K118
│ │ │ │ │ │ └── startup
│ │ │ │ │ │ ├── subdir.mk
│ │ │ │ │ │ ├── system_S32K118.args
│ │ │ │ │ │ ├── system_S32K118.d
│ │ │ │ │ │ └── system_S32K118.o
│ │ │ │ │ ├── startup.args
│ │ │ │ │ ├── startup.d
│ │ │ │ │ ├── startup.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ └── drivers
│ │ │ │ └── src
│ │ │ │ ├── clock
│ │ │ │ │ └── S32K1xx
│ │ │ │ │ ├── clock_S32K1xx.args
│ │ │ │ │ ├── clock_S32K1xx.d
│ │ │ │ │ ├── clock_S32K1xx.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ ├── edma
│ │ │ │ │ ├── edma_driver.args
│ │ │ │ │ ├── edma_driver.d
│ │ │ │ │ ├── edma_driver.o
│ │ │ │ │ ├── edma_hw_access.args
│ │ │ │ │ ├── edma_hw_access.d
│ │ │ │ │ ├── edma_hw_access.o
│ │ │ │ │ ├── edma_irq.args
│ │ │ │ │ ├── edma_irq.d
│ │ │ │ │ ├── edma_irq.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ ├── flash
│ │ │ │ │ ├── flash_driver.args
│ │ │ │ │ ├── flash_driver.d
│ │ │ │ │ ├── flash_driver.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ ├── flexcan
│ │ │ │ │ ├── flexcan_driver.args
│ │ │ │ │ ├── flexcan_driver.d
│ │ │ │ │ ├── flexcan_driver.o
│ │ │ │ │ ├── flexcan_hw_access.args
│ │ │ │ │ ├── flexcan_hw_access.d
│ │ │ │ │ ├── flexcan_hw_access.o
│ │ │ │ │ ├── flexcan_irq.args
│ │ │ │ │ ├── flexcan_irq.d
│ │ │ │ │ ├── flexcan_irq.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ ├── interrupt
│ │ │ │ │ ├── interrupt_manager.args
│ │ │ │ │ ├── interrupt_manager.d
│ │ │ │ │ ├── interrupt_manager.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ ├── lptmr
│ │ │ │ │ ├── lptmr_driver.args
│ │ │ │ │ ├── lptmr_driver.d
│ │ │ │ │ ├── lptmr_driver.o
│ │ │ │ │ ├── lptmr_hw_access.args
│ │ │ │ │ ├── lptmr_hw_access.d
│ │ │ │ │ ├── lptmr_hw_access.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ └── pins
│ │ │ │ ├── pins_driver.args
│ │ │ │ ├── pins_driver.d
│ │ │ │ ├── pins_driver.o
│ │ │ │ ├── pins_port_hw_access.args
│ │ │ │ ├── pins_port_hw_access.d
│ │ │ │ ├── pins_port_hw_access.o
│ │ │ │ └── subdir.mk
│ │ │ └── rtos
│ │ │ └── osif
│ │ │ ├── osif_baremetal.args
│ │ │ ├── osif_baremetal.d
│ │ │ ├── osif_baremetal.o
│ │ │ └── subdir.mk
│ │ ├── Sources
│ │ │ ├── CAN.args
│ │ │ ├── CAN.d
│ │ │ ├── CAN.o
│ │ │ ├── PRINTF.args
│ │ │ ├── TIM.args
│ │ │ ├── TIM.d
│ │ │ ├── TIM.o
│ │ │ ├── crc16.args
│ │ │ ├── flash.args
│ │ │ ├── flash.d
│ │ │ ├── flash.o
│ │ │ ├── main.args
│ │ │ ├── main.d
│ │ │ ├── main.o
│ │ │ ├── oled.args
│ │ │ ├── oled.d
│ │ │ ├── oled.o
│ │ │ └── subdir.mk
│ │ ├── makefile
│ │ ├── makefile.local
│ │ ├── objects.mk
│ │ └── sources.mk
│ ├── Documentation
│ │ ├── Bootloader.txt
│ │ ├── Bootloader_S32K118.txt
│ │ ├── Bootloader_S32K118_Settings.xml
│ │ ├── Bootloader_Settings.previous.xml
│ │ └── Bootloader_Settings.xml
│ ├── Generated_Code
│ │ ├── Cpu.c
│ │ ├── Cpu.h
│ │ ├── Flash1.c
│ │ ├── Flash1.h
│ │ ├── canCom1.c
│ │ ├── canCom1.h
│ │ ├── clockMan1.c
│ │ ├── clockMan1.h
│ │ ├── dmaController1.c
│ │ ├── dmaController1.h
│ │ ├── lpTmr1.c
│ │ ├── lpTmr1.h
│ │ ├── pin_mux.c
│ │ └── pin_mux.h
│ ├── ProcessorExpert.pe
│ ├── Project_Settings
│ │ ├── Debugger
│ │ │ ├── Bootloader_S32K118_Debug_RAM_Segger.launch
│ │ │ ├── Bootloader_S32K118_Debug_Segger.launch
│ │ │ └── Bootloader_S32K118_Release_Segger.launch
│ │ ├── Linker_Files
│ │ │ ├── S32K118_25_flash.ld
│ │ │ └── S32K118_25_ram.ld
│ │ └── Startup_Code
│ │ └── startup_S32K118.S
│ ├── Project_Settings.bak
│ │ ├── Debugger
│ │ │ ├── Bootloader_Debug_RAM_Segger.launch.bak
│ │ │ ├── Bootloader_Debug_Segger.launch.bak
│ │ │ └── Bootloader_Release_Segger.launch.bak
│ │ ├── Linker_Files
│ │ │ ├── S32K118_25_flash.ld.bak
│ │ │ └── S32K118_25_ram.ld.bak
│ │ └── Startup_Code
│ │ └── startup_S32K118.S.bak
│ ├── Release
│ │ ├── Bootloader.args
│ │ ├── Bootloader.elf
│ │ ├── Bootloader.map
│ │ ├── Generated_Code
│ │ │ ├── Cpu.args
│ │ │ ├── Cpu.d
│ │ │ ├── Cpu.o
│ │ │ ├── Flash1.args
│ │ │ ├── Flash1.d
│ │ │ ├── Flash1.o
│ │ │ ├── canCom1.args
│ │ │ ├── canCom1.d
│ │ │ ├── canCom1.o
│ │ │ ├── clockMan1.args
│ │ │ ├── clockMan1.d
│ │ │ ├── clockMan1.o
│ │ │ ├── dmaController1.args
│ │ │ ├── dmaController1.d
│ │ │ ├── dmaController1.o
│ │ │ ├── lpTmr1.args
│ │ │ ├── lpTmr1.d
│ │ │ ├── lpTmr1.o
│ │ │ ├── pin_mux.args
│ │ │ ├── pin_mux.d
│ │ │ ├── pin_mux.o
│ │ │ └── subdir.mk
│ │ ├── Project_Settings
│ │ │ └── Startup_Code
│ │ │ ├── startup_S32K118.args
│ │ │ ├── startup_S32K118.o
│ │ │ └── subdir.mk
│ │ ├── SDK
│ │ │ ├── platform
│ │ │ │ ├── devices
│ │ │ │ │ ├── S32K118
│ │ │ │ │ │ └── startup
│ │ │ │ │ │ ├── subdir.mk
│ │ │ │ │ │ ├── system_S32K118.args
│ │ │ │ │ │ ├── system_S32K118.d
│ │ │ │ │ │ └── system_S32K118.o
│ │ │ │ │ ├── startup.args
│ │ │ │ │ ├── startup.d
│ │ │ │ │ ├── startup.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ └── drivers
│ │ │ │ └── src
│ │ │ │ ├── clock
│ │ │ │ │ └── S32K1xx
│ │ │ │ │ ├── clock_S32K1xx.args
│ │ │ │ │ ├── clock_S32K1xx.d
│ │ │ │ │ ├── clock_S32K1xx.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ ├── edma
│ │ │ │ │ ├── edma_driver.args
│ │ │ │ │ ├── edma_driver.d
│ │ │ │ │ ├── edma_driver.o
│ │ │ │ │ ├── edma_hw_access.args
│ │ │ │ │ ├── edma_hw_access.d
│ │ │ │ │ ├── edma_hw_access.o
│ │ │ │ │ ├── edma_irq.args
│ │ │ │ │ ├── edma_irq.d
│ │ │ │ │ ├── edma_irq.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ ├── flash
│ │ │ │ │ ├── flash_driver.args
│ │ │ │ │ ├── flash_driver.d
│ │ │ │ │ ├── flash_driver.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ ├── flexcan
│ │ │ │ │ ├── flexcan_driver.args
│ │ │ │ │ ├── flexcan_driver.d
│ │ │ │ │ ├── flexcan_driver.o
│ │ │ │ │ ├── flexcan_hw_access.args
│ │ │ │ │ ├── flexcan_hw_access.d
│ │ │ │ │ ├── flexcan_hw_access.o
│ │ │ │ │ ├── flexcan_irq.args
│ │ │ │ │ ├── flexcan_irq.d
│ │ │ │ │ ├── flexcan_irq.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ ├── interrupt
│ │ │ │ │ ├── interrupt_manager.args
│ │ │ │ │ ├── interrupt_manager.d
│ │ │ │ │ ├── interrupt_manager.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ ├── lptmr
│ │ │ │ │ ├── lptmr_driver.args
│ │ │ │ │ ├── lptmr_driver.d
│ │ │ │ │ ├── lptmr_driver.o
│ │ │ │ │ ├── lptmr_hw_access.args
│ │ │ │ │ ├── lptmr_hw_access.d
│ │ │ │ │ ├── lptmr_hw_access.o
│ │ │ │ │ └── subdir.mk
│ │ │ │ └── pins
│ │ │ │ ├── pins_driver.args
│ │ │ │ ├── pins_driver.d
│ │ │ │ ├── pins_driver.o
│ │ │ │ ├── pins_port_hw_access.args
│ │ │ │ ├── pins_port_hw_access.d
│ │ │ │ ├── pins_port_hw_access.o
│ │ │ │ └── subdir.mk
│ │ │ └── rtos
│ │ │ └── osif
│ │ │ ├── osif_baremetal.args
│ │ │ ├── osif_baremetal.d
│ │ │ ├── osif_baremetal.o
│ │ │ └── subdir.mk
│ │ ├── Sources
│ │ │ ├── CAN.args
│ │ │ ├── CAN.d
│ │ │ ├── CAN.o
│ │ │ ├── TIM.args
│ │ │ ├── TIM.d
│ │ │ ├── TIM.o
│ │ │ ├── flash.args
│ │ │ ├── flash.d
│ │ │ ├── flash.o
│ │ │ ├── main.args
│ │ │ ├── main.d
│ │ │ ├── main.o
│ │ │ └── subdir.mk
│ │ ├── makefile
│ │ ├── makefile.local
│ │ ├── objects.mk
│ │ └── sources.mk
│ ├── SDK
│ │ ├── platform
│ │ │ ├── devices
│ │ │ │ ├── S32K118
│ │ │ │ │ ├── include
│ │ │ │ │ │ ├── S32K118.h
│ │ │ │ │ │ └── S32K118_features.h
│ │ │ │ │ └── startup
│ │ │ │ │ ├── system_S32K118.c
│ │ │ │ │ └── system_S32K118.h
│ │ │ │ ├── callbacks.h
│ │ │ │ ├── common
│ │ │ │ │ └── s32_core_cm0.h
│ │ │ │ ├── devassert.h
│ │ │ │ ├── device_registers.h
│ │ │ │ ├── startup.c
│ │ │ │ ├── startup.h
│ │ │ │ └── status.h
│ │ │ └── drivers
│ │ │ ├── inc
│ │ │ │ ├── clock.h
│ │ │ │ ├── clock_manager.h
│ │ │ │ ├── edma_driver.h
│ │ │ │ ├── flash_driver.h
│ │ │ │ ├── flexcan_driver.h
│ │ │ │ ├── interrupt_manager.h
│ │ │ │ ├── lptmr_driver.h
│ │ │ │ └── pins_driver.h
│ │ │ └── src
│ │ │ ├── clock
│ │ │ │ └── S32K1xx
│ │ │ │ ├── clock_S32K1xx.c
│ │ │ │ ├── clock_S32K1xx.h
│ │ │ │ ├── pcc_hw_access.h
│ │ │ │ ├── pmc_hw_access.h
│ │ │ │ ├── scg_hw_access.h
│ │ │ │ ├── sim_hw_access.h
│ │ │ │ └── smc_hw_access.h
│ │ │ ├── edma
│ │ │ │ ├── edma_driver.c
│ │ │ │ ├── edma_hw_access.c
│ │ │ │ ├── edma_hw_access.h
│ │ │ │ ├── edma_irq.c
│ │ │ │ └── edma_irq.h
│ │ │ ├── flash
│ │ │ │ └── flash_driver.c
│ │ │ ├── flexcan
│ │ │ │ ├── flexcan_driver.c
│ │ │ │ ├── flexcan_hw_access.c
│ │ │ │ ├── flexcan_hw_access.h
│ │ │ │ ├── flexcan_irq.c
│ │ │ │ └── flexcan_irq.h
│ │ │ ├── interrupt
│ │ │ │ └── interrupt_manager.c
│ │ │ ├── lptmr
│ │ │ │ ├── lptmr_driver.c
│ │ │ │ ├── lptmr_hw_access.c
│ │ │ │ └── lptmr_hw_access.h
│ │ │ └── pins
│ │ │ ├── pins_driver.c
│ │ │ ├── pins_gpio_hw_access.h
│ │ │ ├── pins_port_hw_access.c
│ │ │ └── pins_port_hw_access.h
│ │ └── rtos
│ │ └── osif
│ │ ├── osif.h
│ │ └── osif_baremetal.c
│ └── Sources
│ ├── CAN.c
│ ├── CAN.h
│ ├── TIM.c
│ ├── TIM.h
│ ├── flash.c
│ ├── flash.h
│ ├── main.c
│ ├── oled.c
│ └── oled.h
└── UART_CAN_118
├── Debug
│ ├── Generated_Code
│ │ ├── Cpu.args
│ │ ├── Cpu.d
│ │ ├── Cpu.o
│ │ ├── canCom1.args
│ │ ├── canCom1.d
│ │ ├── canCom1.o
│ │ ├── clockMan1.args
│ │ ├── clockMan1.d
│ │ ├── clockMan1.o
│ │ ├── dmaController1.args
│ │ ├── dmaController1.d
│ │ ├── dmaController1.o
│ │ ├── lpTmr1.args
│ │ ├── lpTmr1.d
│ │ ├── lpTmr1.o
│ │ ├── lpuart1.args
│ │ ├── lpuart1.d
│ │ ├── lpuart1.o
│ │ ├── pin_mux.args
│ │ ├── pin_mux.d
│ │ ├── pin_mux.o
│ │ └── subdir.mk
│ ├── Project_Settings
│ │ └── Startup_Code
│ │ ├── startup_S32K118.args
│ │ ├── startup_S32K118.o
│ │ └── subdir.mk
│ ├── SDK
│ │ ├── platform
│ │ │ ├── devices
│ │ │ │ ├── S32K118
│ │ │ │ │ └── startup
│ │ │ │ │ ├── subdir.mk
│ │ │ │ │ ├── system_S32K118.args
│ │ │ │ │ ├── system_S32K118.d
│ │ │ │ │ └── system_S32K118.o
│ │ │ │ ├── startup.args
│ │ │ │ ├── startup.d
│ │ │ │ ├── startup.o
│ │ │ │ └── subdir.mk
│ │ │ └── drivers
│ │ │ └── src
│ │ │ ├── clock
│ │ │ │ └── S32K1xx
│ │ │ │ ├── clock_S32K1xx.args
│ │ │ │ ├── clock_S32K1xx.d
│ │ │ │ ├── clock_S32K1xx.o
│ │ │ │ └── subdir.mk
│ │ │ ├── edma
│ │ │ │ ├── edma_driver.args
│ │ │ │ ├── edma_driver.d
│ │ │ │ ├── edma_driver.o
│ │ │ │ ├── edma_hw_access.args
│ │ │ │ ├── edma_hw_access.d
│ │ │ │ ├── edma_hw_access.o
│ │ │ │ ├── edma_irq.args
│ │ │ │ ├── edma_irq.d
│ │ │ │ ├── edma_irq.o
│ │ │ │ └── subdir.mk
│ │ │ ├── flexcan
│ │ │ │ ├── flexcan_driver.args
│ │ │ │ ├── flexcan_driver.d
│ │ │ │ ├── flexcan_driver.o
│ │ │ │ ├── flexcan_hw_access.args
│ │ │ │ ├── flexcan_hw_access.d
│ │ │ │ ├── flexcan_hw_access.o
│ │ │ │ ├── flexcan_irq.args
│ │ │ │ ├── flexcan_irq.d
│ │ │ │ ├── flexcan_irq.o
│ │ │ │ └── subdir.mk
│ │ │ ├── interrupt
│ │ │ │ ├── interrupt_manager.args
│ │ │ │ ├── interrupt_manager.d
│ │ │ │ ├── interrupt_manager.o
│ │ │ │ └── subdir.mk
│ │ │ ├── lptmr
│ │ │ │ ├── lptmr_driver.args
│ │ │ │ ├── lptmr_driver.d
│ │ │ │ ├── lptmr_driver.o
│ │ │ │ ├── lptmr_hw_access.args
│ │ │ │ ├── lptmr_hw_access.d
│ │ │ │ ├── lptmr_hw_access.o
│ │ │ │ └── subdir.mk
│ │ │ ├── lpuart
│ │ │ │ ├── lpuart_driver.args
│ │ │ │ ├── lpuart_driver.d
│ │ │ │ ├── lpuart_driver.o
│ │ │ │ ├── lpuart_hw_access.args
│ │ │ │ ├── lpuart_hw_access.d
│ │ │ │ ├── lpuart_hw_access.o
│ │ │ │ ├── lpuart_irq.args
│ │ │ │ ├── lpuart_irq.d
│ │ │ │ ├── lpuart_irq.o
│ │ │ │ └── subdir.mk
│ │ │ └── pins
│ │ │ ├── pins_driver.args
│ │ │ ├── pins_driver.d
│ │ │ ├── pins_driver.o
│ │ │ ├── pins_port_hw_access.args
│ │ │ ├── pins_port_hw_access.d
│ │ │ ├── pins_port_hw_access.o
│ │ │ └── subdir.mk
│ │ └── rtos
│ │ └── osif
│ │ ├── osif_baremetal.args
│ │ ├── osif_baremetal.d
│ │ ├── osif_baremetal.o
│ │ └── subdir.mk
│ ├── Sources
│ │ ├── CAN.args
│ │ ├── CAN.d
│ │ ├── CAN.o
│ │ ├── ClockGPIO.args
│ │ ├── ClockGPIO.d
│ │ ├── ClockGPIO.o
│ │ ├── TIM.args
│ │ ├── TIM.d
│ │ ├── TIM.o
│ │ ├── Xmodem.args
│ │ ├── Xmodem.d
│ │ ├── Xmodem.o
│ │ ├── crc16.args
│ │ ├── crc16.d
│ │ ├── crc16.o
│ │ ├── main.args
│ │ ├── main.d
│ │ ├── main.o
│ │ └── subdir.mk
│ ├── UART_CAN_118.args
│ ├── UART_CAN_118.elf
│ ├── UART_CAN_118.map
│ ├── makefile
│ ├── makefile.local
│ ├── objects.mk
│ └── sources.mk
├── Documentation
│ ├── UART_CAN_118.txt
│ ├── UART_CAN_118_Settings.previous.xml
│ └── UART_CAN_118_Settings.xml
├── Generated_Code
│ ├── Cpu.c
│ ├── Cpu.h
│ ├── canCom1.c
│ ├── canCom1.h
│ ├── clockMan1.c
│ ├── clockMan1.h
│ ├── dmaController1.c
│ ├── dmaController1.h
│ ├── lpTmr1.c
│ ├── lpTmr1.h
│ ├── lpuart1.c
│ ├── lpuart1.h
│ ├── pin_mux.c
│ └── pin_mux.h
├── ProcessorExpert.pe
├── Project_Settings
│ ├── Debugger
│ │ ├── UART_CAN_118_Debug_RAM_Segger.launch
│ │ ├── UART_CAN_118_Debug_Segger.launch
│ │ └── UART_CAN_118_Release_Segger.launch
│ ├── Linker_Files
│ │ ├── S32K118_25_flash.ld
│ │ └── S32K118_25_ram.ld
│ └── Startup_Code
│ └── startup_S32K118.S
├── Project_Settings.bak
│ ├── Debugger
│ │ ├── UART_CAN_118_Debug_RAM_Segger.launch.bak
│ │ ├── UART_CAN_118_Debug_Segger.launch.bak
│ │ └── UART_CAN_118_Release_Segger.launch.bak
│ ├── Linker_Files
│ │ ├── S32K118_25_flash.ld.bak
│ │ └── S32K118_25_ram.ld.bak
│ └── Startup_Code
│ └── startup_S32K118.S.bak
├── SDK
│ ├── platform
│ │ ├── devices
│ │ │ ├── S32K118
│ │ │ │ ├── include
│ │ │ │ │ ├── S32K118.h
│ │ │ │ │ └── S32K118_features.h
│ │ │ │ └── startup
│ │ │ │ ├── system_S32K118.c
│ │ │ │ └── system_S32K118.h
│ │ │ ├── callbacks.h
│ │ │ ├── common
│ │ │ │ └── s32_core_cm0.h
│ │ │ ├── devassert.h
│ │ │ ├── device_registers.h
│ │ │ ├── startup.c
│ │ │ ├── startup.h
│ │ │ └── status.h
│ │ └── drivers
│ │ ├── inc
│ │ │ ├── clock.h
│ │ │ ├── clock_manager.h
│ │ │ ├── edma_driver.h
│ │ │ ├── flexcan_driver.h
│ │ │ ├── interrupt_manager.h
│ │ │ ├── lptmr_driver.h
│ │ │ ├── lpuart_driver.h
│ │ │ └── pins_driver.h
│ │ └── src
│ │ ├── clock
│ │ │ └── S32K1xx
│ │ │ ├── clock_S32K1xx.c
│ │ │ ├── clock_S32K1xx.h
│ │ │ ├── pcc_hw_access.h
│ │ │ ├── pmc_hw_access.h
│ │ │ ├── scg_hw_access.h
│ │ │ ├── sim_hw_access.h
│ │ │ └── smc_hw_access.h
│ │ ├── edma
│ │ │ ├── edma_driver.c
│ │ │ ├── edma_hw_access.c
│ │ │ ├── edma_hw_access.h
│ │ │ ├── edma_irq.c
│ │ │ └── edma_irq.h
│ │ ├── flexcan
│ │ │ ├── flexcan_driver.c
│ │ │ ├── flexcan_hw_access.c
│ │ │ ├── flexcan_hw_access.h
│ │ │ ├── flexcan_irq.c
│ │ │ └── flexcan_irq.h
│ │ ├── interrupt
│ │ │ └── interrupt_manager.c
│ │ ├── lptmr
│ │ │ ├── lptmr_driver.c
│ │ │ ├── lptmr_hw_access.c
│ │ │ └── lptmr_hw_access.h
│ │ ├── lpuart
│ │ │ ├── lpuart_driver.c
│ │ │ ├── lpuart_hw_access.c
│ │ │ ├── lpuart_hw_access.h
│ │ │ ├── lpuart_irq.c
│ │ │ └── lpuart_irq.h
│ │ └── pins
│ │ ├── pins_driver.c
│ │ ├── pins_gpio_hw_access.h
│ │ ├── pins_port_hw_access.c
│ │ └── pins_port_hw_access.h
│ └── rtos
│ └── osif
│ ├── osif.h
│ └── osif_baremetal.c
└── Sources
├── CAN.c
├── CAN.h
├── ClockGPIO.c
├── ClockGPIO.h
├── TIM.c
├── TIM.h
├── Xmodem.c
├── Xmodem.h
├── crc16.c
├── crc16.h
└── main.c
131 directories, 508 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论