summaryrefslogtreecommitdiff
path: root/hw/bsp/lpc17
AgeCommit message (Collapse)Author
27 hourssysview: take the timestamp from a BSP hardware timer where the core has no DWThathach
Cortex-M0/M0+, the WCH RISC-V parts and MAX3266x have no usable DWT cycle counter, so their family.c provides SEGGER_SYSVIEW_X_GetTimestamp() from a free-running hardware timer: a 32-bit general-purpose timer on ST parts (sysview_stm32_tim2.h), SysTick-extended sources on the M0 families, the core's SysTick-equivalent on WCH with the documented ordered read of the split count registers (sysview_wch_timestamp.h), and a TMR on MAX3266x (sysview_max32_tmr.h). max32666fthr's DWT implements only watchpoint comparators (DWT_CTRL.NOCYCCNT=1 read live; UG6971 documents no DWT/trace at all), so SystemView's ARMv7-M default read 0xE0001004 as a frozen 0 and every duration decoded as zero. The TMR runs at 48 MHz (f_PCLK = f_SYS_CLK/2; Continuous mode, CMP=0xFFFFFFFF, prescaler 1 - UG6971 15.2 guarantees TMRn_CNT readable while counting); TMR0 by default - present on every MAX32 part, unused by the examples, FreeRTOS ticks on SysTick - overridable with -DSYSVIEW_MAX32_TMR=n. The family builds SystemView with SEGGER_SYSVIEW_CORE_OTHER and sets CFG_TUSB_SYSVIEW_TIMESTAMP_BSP, a tusb_sysview.c opt-in for ARMv7-M parts without CYCCNT where the BSP also reports the rate via SEGGER_SYSVIEW_X_GetTimestampFreq(); the fixed-1MHz microsecond contract is unreachable on a powers-of-two-only prescaler. SEGGER_SYSVIEW_X_GetInterruptId() gains the ICSR.VECTACTIVE read for CORE_OTHER builds. MAX32650/32690 use different GCR clock-gate names and stay unported. Measured on the rig: seven host-timed 1.000 s gaps at 1.00044-1.00091 (median +0.05%). stm32f0 refuses to configure SYSVIEW for stm32f070xb at CMake time: that variant has no TIM2 at all, and the alternative was an undefined-reference link error with no hint. The shared hw/bsp/sysview_*.h join ci_select rule 16's hw/bsp file list (cross-family build files, compiled only under -DSYSVIEW which no CI leg enables), mirrored in the spec's rule table, so master's classification guard resolves them on both axes.
27 hourssysview: wire the -DSYSVIEW=<level> build optionhathach
family_support.cmake/.mk translate -DSYSVIEW=<level> (CMake) / SYSVIEW=<level> (Make) into CFG_TUD_SYSVIEW/CFG_TUH_SYSVIEW, pull in lib/SystemView sources and the RTT/SystemView include paths, and refuse levels the family cannot honour. The lpc11/13/15/17/40/43 families declare SYSVIEW_RAM_BASE_DEFAULT 0x10000000: their SRAM does not start at the Cortex-M-canonical 0x20000000, and the recorder needs the real base to find the RTT control block.
2026-04-06remove IAR toolchain support from make build systemhathach
IAR is only supported with CMake. Remove all IAR-specific references from the Make build system including toolchain files, SRC_S_IAR, LD_FILE_IAR variables, and IAR toolchain detection. Also fix GET_SECTOR_COUNT truncation in msc_file_explorer and broken formatting in stm32f7 board_uart_write. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-04-04make board_uart_read()/write() return -1 when unimplemented for consistency ↵hathach
across all families
2026-02-28replace board_millis() with tusb_time_millis_api()hathach
2025-11-25bsp: Disable SysTick ISR if FreeRTOS is enabledZixun LI
2025-10-30Merge branch 'master' into add-ohci-lpc55hathach
# Conflicts: - hw/bsp/lpc17/family.cmake - hw/bsp/lpc40/family.cmake - hw/bsp/lpc55/family.cmake
2025-10-23fix more buildhathach
2025-10-23refactor family.cmake: rename add_board_target() to family_add_board() and ↵hathach
move it to family_configure_common() also move startup and linker from board target to actual exe
2025-10-15fix more warningshathach
2025-10-14fix lots of warnings for missing-prototypes for irqhandlerhathach
2025-10-10try to enable ohci for lpc55 but not working, probably clock issuehathach
2025-07-02remove legacy DEPS_SUBMODULES in makehathach
2025-04-17fix iar make build with wb and u5hathach
2025-01-25cmake remove EXAMPLE-tinyusb target as libraryhathach
2025-01-24add cmake RTOS=zephyr (default noos) for zephyr buildhathach
2025-01-22- change to use CMAKE_SYSTEM_CPU to prevent CMAKE_SYSTEM_PROCESSOR conflict ↵hathach
with zephyr - change tinyusb CMakeLists.txt to function tinyusb_target_add() instead of defining tinyusb lib target
2024-12-27embed metadata to family.c and board.h to generate supported boards dochathach
2024-11-30Add bin & hex output to cmake targets.HiFiPhile
2024-05-10More ci tweak (#2636)Ha Thach
* change concurrency group to ${{ github.workflow }}-${{ github.ref }} * use argparse for build.py hil_test.py, remove the need to install click * move ci win/mac to build_cmake.yml * rename build_family.yml to build_util.yml * build_util.yml support esp32 * integrate build-espressif into build.yml * build.py support make with --board option * add get_deps action * update hil test to reuse action
2024-04-24fix make build due to clang changeshathach
2024-04-22clang compile with lpc40hathach
2024-04-22clang compile with lpc17hathach
2024-01-11add cmake support for lpc17hathach
2023-11-23make nanolib linking explicitly by each family/boardhathach
2023-09-28fix build with new freertos host examplehathach
2023-09-27change hcd_int_handler(rhport, in_isr) signature: add in_isrhathach
change tuh_int_handler() to take in_isr as optional parameter (default = true)
2023-08-03more board_api renamehathach
2023-06-24add CPU_CORE for all familyhathach
2023-03-19bsp lpc17hathach