profile
viewpoint

azonenberg/openfpga 227

Open FPGA tools

cr1901/AT2XT 18

AT to XT Keyboard Protocol Converter firmware + schematic

cr1901/Boneless-CPU 3

Resource-efficient 16-bit CPU architecture for FPGA control plane

cr1901/dumpcis 3

Dump PCMCIA Card Information Structure from DOS! Yes, in 2019.

cr1901/FIXBASIC 2

DOS TSR that fixes PC DOS 5.0's QBASIC crashes on non-genuine IBM clones.

cr1901/boneless-sim 1

Simulator for the Boneless CPU.

cr1901/chessie 1

Potentially misguided experiments in ML and types

cr1901/abc 0

ABC: System for Sequential Logic Synthesis and Formal Verification

cr1901/arachne-pnr 0

Place and route tool for FPGAs

cr1901/arty-soc 0

Digilent's Arty SoC based on LiteX

issue commenthathach/tinyusb

USBTMC example not working on SAMD21/SAMD51

have you managed to get the stack log with LOG=1 or 2 option. Also you should try to test with PC first, when it all works well, then test with RPI later on.

PS: just realize itsybitsy bsp doesn't have board_uart_read/board_uart_write implemented just yet, you need to implement that first before getting the log. I will add it later when I have time.

charkster

comment created time in an hour

startedsbz/freebsd-commands

started time in 6 hours

delete branch rust-embedded/wg

delete branch : 2020-11-24

delete time in 11 hours

PR merged rust-embedded/wg

Add minutes for 2020-11-24
+136 -0

1 comment

1 changed file

adamgreig

pr closed time in 11 hours

push eventrust-embedded/wg

Adam Greig

commit sha 4e140323632588cc2b45e5e010c1d08e6911250e

Add minutes for 2020-11-24

view details

bors[bot]

commit sha 7156cf18df186b529f9d33950334866229183235

Merge #525 525: Add minutes for 2020-11-24 r=jonas-schievink a=adamgreig Co-authored-by: Adam Greig <adam@adamgreig.com>

view details

push time in 11 hours

pull request commentrust-embedded/wg

Add minutes for 2020-11-24

Build succeeded:

adamgreig

comment created time in 11 hours

delete branch rust-embedded/wg

delete branch : staging.tmp

delete time in 11 hours

push eventrust-embedded/wg

Adam Greig

commit sha 4e140323632588cc2b45e5e010c1d08e6911250e

Add minutes for 2020-11-24

view details

bors[bot]

commit sha 7156cf18df186b529f9d33950334866229183235

Merge #525 525: Add minutes for 2020-11-24 r=jonas-schievink a=adamgreig Co-authored-by: Adam Greig <adam@adamgreig.com>

view details

push time in 11 hours

push eventrust-embedded/wg

Adam Greig

commit sha 4e140323632588cc2b45e5e010c1d08e6911250e

Add minutes for 2020-11-24

view details

bors[bot]

commit sha 68c9e41240b3c97c61ca3193c00d83b5a9befe9b

[ci skip][skip ci][skip netlify] -bors-staging-tmp-525

view details

push time in 11 hours

create barnchrust-embedded/wg

branch : staging.tmp

created branch time in 11 hours

PR opened rust-embedded/wg

Add minutes for 2020-11-24
+136 -0

0 comment

1 changed file

pr created time in 11 hours

create barnchrust-embedded/wg

branch : 2020-11-24

created branch time in 11 hours

issue openedrust-embedded/msp430-rt

RAM init code violates pointer provenance and aliasing rules

RAM initialization currently passes pointers to these statics:

https://github.com/rust-embedded/msp430-rt/blob/776bd425cf3f9a5783b275e294a41380b6f8594b/src/lib.rs#L367-L376

...to r0:

https://github.com/rust-embedded/msp430-rt/blob/776bd425cf3f9a5783b275e294a41380b6f8594b/src/lib.rs#L386-L387

But since r0 will fill the entire memory range between the pointers, it ends up calling offset with values that create pointers well beyond the u32 the static is declared to contain. According to the docs of offset, this is UB:

Both the starting and resulting pointer must be either in bounds or one byte past the end of the same allocated object. Note that in Rust, every (stack-allocated) variable is considered a separate allocated object.

(every static also counts as its own "allocated object", I believe)

Moreover, the ptr::write and ptr::write_volatile calls in r0 also cause UB, because this invariant is violated:

dst must be valid for writes.

Where the validity of a pointer requires this:

For a pointer to be valid, it is necessary, but not always sufficient, that the pointer be dereferenceable: the memory range of the given size starting at the pointer must all be within the bounds of a single allocated object. Note that in Rust, every (stack-allocated) variable is considered a separate allocated object.

...but again, we are crossing between potentially many allocated objects (every static in the .data/.bss section).

Furthermore, writing to a static through a pointer not derived from that static might violate aliasing rules, but it isn't yet clear if this is the case today (I've asked the folks working on the unsafe code guidelines for clarification / guidance).

The most robust solution for this issue is to write the RAM init code in assembly instead of Rust, and run no Rust code at all until RAM is initialized.

(this issue was recently discovered to affect most -rt crates in the ecosystem; we do not believe it to cause practical issues at the moment)

created time in 11 hours

issue commenthathach/tinyusb

USBTMC example not working on SAMD21

I tried using my itsybitsy_m4 (SAMD51) and it has the exact same issue.

charkster

comment created time in 13 hours

push eventhathach/tinyusb

hathach

commit sha f5e13d589826b25791464f2fe2050d36739ad56e

msc only invoke scsi complete callback after status transaction is complete

view details

Ha Thach

commit sha 4a2baf400ea1ecf220b18352ec45dbe455741317

Merge pull request #562 from hathach/correctly-invoke-scsi-callback msc only invoke scsi complete callback after status transaction is complete

view details

push time in 14 hours

delete branch hathach/tinyusb

delete branch : correctly-invoke-scsi-callback

delete time in 14 hours

PR merged hathach/tinyusb

msc only invoke scsi complete callback after status transaction is complete

Describe the PR There has been some race condition between host software and device handling with scsi complete callback. E.g windows complain when reboot from bootloader to application since status is not yet sent to host. This fix #375

@dhalbert may want to give it a try with issue on internal flash file system on nrf52840, or maybe pointing the user with the issue to test with this.

+18 -889

0 comment

2 changed files

hathach

pr closed time in 14 hours

issue closedhathach/tinyusb

Invoke msc device scsi complete callback after status queued/acked

Is your feature request related to a problem? Please describe. Currently the msc device scsi complete callback such tud_msc_write10_complete_cb() is invoked before queuing the transfer. Which can cause issue with bootloader resetting after the write10

https://github.com/adafruit/Adafruit_nRF52_Bootloader/issues/120

Describe the solution you'd like It should be either after queuing status or even after status is ack from host. Effectively revert the commit https://github.com/hathach/tinyusb/commit/605129eb6600ffb50ea2d239e0ad78a9636df8e1 states that SAMD51 + QSPI on arduino has racing issue that I had to move it before the queue !!!

There maybe issue with Arduino samd51 qspi library and/or other thing. Make sure testing this out when reverting.

closed time in 14 hours

hathach

PR opened hathach/tinyusb

msc only invoke scsi complete callback after status transaction is complete

Describe the PR There has been some race condition between host software and device handling with scsi complete callback. E.g windows complain when reboot from bootloader to application since status is not yet sent to host. This fix #375

@dhalbert may want to give it a try with issue on internal flash file system on nrf52840, or maybe pointing the user with the issue to test with this.

+18 -889

0 comment

2 changed files

pr created time in 15 hours

create barnchhathach/tinyusb

branch : correctly-invoke-scsi-callback

created branch time in 15 hours

push eventhathach/tinyusb

hathach

commit sha 148eea141798cd9aefea49aaedc06c885ab7a3aa

add tud_connected() which return true as long as we receive the very first SETUP packet from host.

view details

Ha Thach

commit sha 218b80e63ab6ff87c1851e403f08b3d716d68f5e

Merge pull request #561 from hathach/add-tud-connected add tud_connected()

view details

push time in 16 hours

delete branch hathach/tinyusb

delete branch : add-tud-connected

delete time in 16 hours

PR merged hathach/tinyusb

add tud_connected()

Describe the PR which return true as long as we receive the very first SETUP packet from host.

requested by @dhalbert

+9 -1

0 comment

2 changed files

hathach

pr closed time in 16 hours

PR opened hathach/tinyusb

add tud_connected()

Describe the PR which return true as long as we receive the very first SETUP packet from host.

requested by @dhalbert

+9 -1

0 comment

2 changed files

pr created time in 16 hours

create barnchhathach/tinyusb

branch : add-tud-connected

created branch time in 16 hours

pull request commenthathach/tinyusb

Add CDC NCM implementation

#557 slightly change the control transfer callback for the driver by introducing the stage (setup/data/ack) argument. You probably may want to update the driver. It does not change the driver much, but still need to update a bit.

j4cbo

comment created time in a day

startedbbuchfink/diamond

started time in a day

issue commenthathach/tinyusb

USBTMC example not working on SAMD21

I did notice this in DMESG on the raspberry pi:

[ 2.214996] usb 1-1.4: new full-speed USB device number 4 using xhci_hcd [ 2.354164] usb 1-1.4: New USB device found, idVendor=cafe, idProduct=4000, bcdDevice= 1.00 [ 2.354184] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2.354202] usb 1-1.4: Product: TinyUSB Device [ 2.354218] usb 1-1.4: Manufacturer: TinyUSB [ 2.354234] usb 1-1.4: SerialNumber: 123456 [ 2.359368] usb 1-1.4: can't set config #1, error -32

charkster

comment created time in a day

issue commenthathach/tinyusb

tusb_init() returns incorrect value

I am the one to say thanks, normally I couldn't be that fast, but thankfully this one is easy enough to fix.

RomaVis

comment created time in 2 days

pull request commenthathach/tinyusb

have tusb_init() return true instead of TUSB_ERROR_NONE

@me-no-dev may need to modify IDF since the tusb_init() has been returned the incorrect code due to legacy error code (removed currently) https://github.com/espressif/esp-idf/blob/master/components/tinyusb/additions/src/tinyusb.c#L107

hathach

comment created time in 2 days

more