Add device-tree GPIO/EXTI controllers, built-in DTB support for GCC and ArmClang, and BSP integration for STM32F407 RT-Spark and STM32H750 ART-Pi. Document how BSP users enable the DM drivers.
* updated template files, conifg files and script files to support hypperram, multicore kickoff, rpmsg-lite, netc, cherryusb and ethercat.
* updated different link files of GCC, IAR and KEIL, for supporting multicore kick-off and different loading methods
* Updated .ini files to support debugging in keil. And updeated .mac files to support deugging in iar.
* Updated template files, conifg files and script files of CM7 to support hypperram, multicore kickoff, rpmsg-lite, netc, cherryusb and ethercat.
* Updated different link files of GCC, IAR and KEIL of CM7 project, for supporting multicore kick-off and different loading methods.
* Modify LittleFS to use the last 1 MB of flash and update CM7 support for LittleFS on QSPI flash.
* Updated different link files of loading to hyperram.
* Updated .ini files of CM7 to support debugging in keil. And updeated .mac files of CM7 to support deugging in iar.
* Remove Keil projects and keep templates only.
* Remove RAMFUNC due to IAR compilation issues, and use linker configuration to place all flash operation code in RAM.
* Add related code to support kick-offing CM7 and rpmsg-lite.
* Add codes to support cherryUSB for CM33 and CM7.
* Add mnt.c to support littleFS for CM7.
* Add codes to support etherCAT for CM7.
* Add codes to support USART12 for RT1180.
* Modify the drv_uart_v2.c to fix some bug to make it can work in CM33, but still cannot work in CM7. Will continue to update in next version.
* Updated README with both Chinese and English versions.
* Move the EtherCAT code into the packages\nxp-imxrt-sdk-latest.
* Remove EtherCAT-related sources, keep only SConscript.
* updated ci.attachconfig.yml for cm33 and cm7 projects.
* Fixed BSP_ROOT path error in rtconfig.py.
* Added drv_netc.c and updated SConscript for netc.
* Updated cherryusb_port.c to avoid worning.
* Updated sconscript to locate multicore directory in packages for header inclusion.
* Updated cm33/board/board.c to avoid worning when enable cm33_kickoff_cm7.
* Deleted peripheral.ethercat, because the related protocol stack has not been uploaded. And added CONFIG_BSP_USING_GPIO=y for Peripheral.netc.:
* Removed the SConscript of multicore and ethercat to packages.
* Added CONFIG_BSP_USING_GPIO=y to Peripheral.hyperflash_dma.
* Added CONFIG_BSP_USING_GPIO=y for Peripheral.hyperflash.
* Reformat code according to coding standards.
* Reformat code according to coding standards.
Python warns about invalid escape sequences in the heap update regex patterns. Mark the patterns as raw strings so the regex values stay unchanged without relying on invalid Python escapes.
Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
Reject IPv4 addresses outside 224.0.0.0/4 before updating the multicast MAC hash. The previous condition used AND, so it could never reject a non-multicast first octet.
Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
Keep pin2irqindex within the pin_irq_map bounds and handle the first map entry without reading index -1. Pass encoded pin values to the IRQ map lookup path, and validate the lookup result before indexing the map.
Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
- Add chip macro for driver
- Modify 'IDLE_THREAD_STACK_SIZE' to 512
- Modify 'HWTIMER' to 'CLOCK_TIMER'
- Use 'clang-format' format driver and BSP code
- Fix SPI clock division configuration
* [bsp][imxrt1180-nxp-evk]add TIMER support
* [bsp][imxrt1180-nxp-evk]update TIMER support
* [bsp][imxrt1180-nxp-evk] move fsl_gpt.c inclusion to SDK package SConscript
* [bsp][imxrt1180-nxp-evk] restore main.c to original Hello_World version
* [bsp][imxrt1180-nxp-evk] remove libraries/drivers/drv_timer.h
* [bsp][imxrt1180-nxp-evk]update TIMER support
rt_hw_eth_init() clears ENET descriptor tables using element size times count, but the RX/TX data buffers used sizeof(size), which only covers the width of the size field.
Use the configured buffer count and size so the whole RX/TX buffer areas are initialized before handing them to the ENET descriptor configuration.
Make the Cppcheck intent explicit for the HPM placement macros and the LPI_CSR register read so the touched file passes static analysis.
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
RT_CAN_CMD_SET_BITTIMING receives an array of struct rt_can_bit_timing entries. The Rockchip CAN-FD driver used sizeof(&timing->items[n]) when copying those entries, so only pointer-sized bytes were copied into the device configuration.
Use the element size so both arbitration and data phase timing structures are copied completely.
Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
Reset the whole FQSpi_CmdPack object before reusing it in the QSPI debug commands. Using sizeof(&cmd_pack) only clears the pointer-sized prefix and can leave stale fields in the command pack.
Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
Check the buffer limits before reading ptr[i] in bufferred_fgets(). Also guard CR/LF skipping against the available input bytes so reading a full buffer does not inspect one byte past the source.
Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
The Renesas LCD helper treats LCD_WIDTH and LCD_HEIGHT as pixel counts. The framebuffer clear loop and lcd_draw_pixel() accepted those count values as valid indexes, which can write one pixel past the framebuffer.
Use strict bounds for the 0-based framebuffer indexes and adjust the 180-degree rotation mapping to target the last valid row and column.
Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
Validate the second and third digits of RA PXXX pin names against their own characters. The previous checks used name[1] for those upper bounds, so non-digit suffixes could pass validation.
Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>