<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/hw/bsp/samd2x_l2x, 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/samd2x_l2x?h=claude%2Fadd-systemview-debug</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/hw/bsp/samd2x_l2x?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>samd2x_l2x: build hcd_samd.c for samd21 only, as family.mk already does</title>
<updated>2026-08-21T04:06:26Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-21T04:06:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=565263ef1c8744232561ce297dabbdff3e3d284c'/>
<id>urn:sha1:565263ef1c8744232561ce297dabbdff3e3d284c</id>
<content type='text'>
family.cmake listed src/portable/microchip/samd/hcd_samd.c twice: once
unconditionally, and once inside `if(SAM_FAMILY STREQUAL "samd21")` under the
comment "Add HCD support for SAMD21 (has host capability)". The unconditional copy
defeated the gate, so cmake compiled the host controller driver for saml21 and
saml22 while family.mk compiled it for samd21 alone - and SAML22 has no host
controller at all (hcd_samd.c fails there with `unknown type name
'UsbHostDescriptor'`).

Nothing built the host examples on this family, so the divergence was invisible;
the next commit makes it matter.
</content>
</entry>
<entry>
<title>fix some Wconversion warnings</title>
<updated>2026-04-17T03:16:31Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-16T17:10:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=a6dcc3f089bd4468949ea9e138fea9f80025577e'/>
<id>urn:sha1:a6dcc3f089bd4468949ea9e138fea9f80025577e</id>
<content type='text'>
</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>fix warning with strict prototypes warnings</title>
<updated>2025-10-28T04:10:29Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-10-27T17:38:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=113a763bc3fe861ac7c20075b2ad29bb51f6fd01'/>
<id>urn:sha1:113a763bc3fe861ac7c20075b2ad29bb51f6fd01</id>
<content type='text'>
</content>
</entry>
<entry>
<title>disable warning for startup file</title>
<updated>2025-10-27T17:15:39Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-10-27T17:15:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=cc597d5cd55ee447d4f97b7f2a19d95c333426f5'/>
<id>urn:sha1:cc597d5cd55ee447d4f97b7f2a19d95c333426f5</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>
