<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/hw/bsp/lpc11, branch claude/add-systemview-debug</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/hw/bsp/lpc11?h=claude%2Fadd-systemview-debug</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/hw/bsp/lpc11?h=claude%2Fadd-systemview-debug'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-09-03T21:21:57Z</updated>
<entry>
<title>sysview: take the timestamp from a BSP hardware timer where the core has no DWT</title>
<updated>2026-09-03T21:21:57Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-09-03T10:14:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5a0d707dd96ae7821d97793b441b86aabb684855'/>
<id>urn:sha1:5a0d707dd96ae7821d97793b441b86aabb684855</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>sysview: wire the -DSYSVIEW=&lt;level&gt; build option</title>
<updated>2026-09-03T21:21:57Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-11T10:07:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=03c3ac6f5b770c3c6cca49adb552fc33b5c24da8'/>
<id>urn:sha1:03c3ac6f5b770c3c6cca49adb552fc33b5c24da8</id>
<content type='text'>
family_support.cmake/.mk translate -DSYSVIEW=&lt;level&gt; (CMake) / SYSVIEW=&lt;level&gt;
(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.
</content>
</entry>
<entry>
<title>bsp(lpc11u37): move the main stack to the USB SRAM bank</title>
<updated>2026-08-18T15:07:49Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-16T18:02:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=af5354349156d3d1bb0f2533ad802f1e1c5a6ffb'/>
<id>urn:sha1:af5354349156d3d1bb0f2533ad802f1e1c5a6ffb</id>
<content type='text'>
The 8 KB main bank is packed tightly enough that only ~280 bytes remained above
.bss, and interrupt frames overflowed into the topmost task stack - a hard fault
in cdc_msc_freertos. Put the MSP at the top of the 2 KB USB SRAM bank, which
nothing else uses in either build system, so the stack no longer shrinks as .bss
grows. The Make build's CFG_TUSB_MEM_SECTION placement of endpoint buffers into
that bank is dropped so both build systems agree on the layout.

The headroom assert is written as an addition rather than a subtraction, since
linker script arithmetic is unsigned and an overflowing bank would underflow the
difference into a huge positive value and pass silently.
</content>
</entry>
<entry>
<title>remove IAR toolchain support from make build system</title>
<updated>2026-04-06T04:17:34Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-19T15:23:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4c7a9fed96e0a81cc640333c1c82fee54fa4be34'/>
<id>urn:sha1:4c7a9fed96e0a81cc640333c1c82fee54fa4be34</id>
<content type='text'>
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) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>make board_uart_read()/write() return -1 when unimplemented for consistency across all families</title>
<updated>2026-04-04T14:32:39Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-04T14:32:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=9838a231ad9bff623a3ec819d05aad4a4087193b'/>
<id>urn:sha1:9838a231ad9bff623a3ec819d05aad4a4087193b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>replace board_millis() with tusb_time_millis_api()</title>
<updated>2026-02-27T17:01:40Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-02-27T16:51:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=8444c25ab6bc841bad81fd04afc1e66a9d57a115'/>
<id>urn:sha1:8444c25ab6bc841bad81fd04afc1e66a9d57a115</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bsp: Disable SysTick ISR if FreeRTOS is enabled</title>
<updated>2025-11-25T15:30:32Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2025-11-25T14:54:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=8221ea220bb523b3d8c6bab915a968477a228a16'/>
<id>urn:sha1:8221ea220bb523b3d8c6bab915a968477a228a16</id>
<content type='text'>
</content>
</entry>
<entry>
<title>force clang asm with -x assembler-with-cpp</title>
<updated>2025-10-23T11:00:15Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-10-23T09:59:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=7c95d9bed5b39730c449e321cc72c4e690b17a6c'/>
<id>urn:sha1:7c95d9bed5b39730c449e321cc72c4e690b17a6c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix more build</title>
<updated>2025-10-22T21:05:33Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-10-22T19:37:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=bde449997e65ee866fa9e20c15bac0bd45efccf4'/>
<id>urn:sha1:bde449997e65ee866fa9e20c15bac0bd45efccf4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor family.cmake: rename add_board_target() to family_add_board() and move it to family_configure_common()</title>
<updated>2025-10-22T19:23:20Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-10-17T09:54:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=c8a1b757f05be044d121a655b6e1a5ac3b52ee14'/>
<id>urn:sha1:c8a1b757f05be044d121a655b6e1a5ac3b52ee14</id>
<content type='text'>
also move startup and linker from board target to actual exe
</content>
</entry>
</feed>
