Search found 9 matches

by baoshi
Thu Jun 22, 2017 12:05 pm
Forum: ChibiOS/HAL
Topic: Understanding the OUT EP handling in Serial-over-USB driver
Replies: 2
Views: 2674

Re: Understanding the OUT EP handling in Serial-over-USB driver

Got it. In ibnotify of hal_serial_usb.c
Thanks!
by baoshi
Thu Jun 22, 2017 3:06 am
Forum: ChibiOS/HAL
Topic: Understanding the OUT EP handling in Serial-over-USB driver
Replies: 2
Views: 2674

Understanding the OUT EP handling in Serial-over-USB driver

Hi,
First let me say the driver works perfectly OK.

But when I digging into the code, some part I cannot understand. Here I'm based on ChibiOS 17.6.0, I think the part in 16.1.8 is identical.
When an OUT packet arrives at data EP, here is what happens:
1. The USB lld saves the packet to assigned ...
by baoshi
Mon Jun 19, 2017 8:28 am
Forum: ChibiOS/HAL
Topic: Serial driver and gap between each character
Replies: 3
Views: 2724

Re: Serial driver and gap between each character

Giovanni wrote:Hi,

It is caused by the IRQ service times, if you need to operate at very high speeds then try the UART driver, it uses DMA.

Giovanni


Yes understand IRQ causes the delay. But why serving TXE takes longer time for higher baudrate? Should they take same time?
by baoshi
Mon Jun 19, 2017 2:08 am
Forum: ChibiOS/HAL
Topic: Serial driver and gap between each character
Replies: 3
Views: 2724

Serial driver and gap between each character

Hi,
I'm testing Serial driver performance.
A simple program only calls
sdWrite(&SD1, buf, 64);
chThdSleepMilliseconds(500);
in the main loop.
SD1 is set to 115200 and 921600 respectively. All ChibiOS debug checks are disabled.
As can be seen from the attached screenshot.
115200 ...
by baoshi
Thu Jun 15, 2017 4:17 pm
Forum: ChibiOS/HAL
Topic: STM32F407 Strange SerialUsbDriver behavior
Replies: 15
Views: 9851

Re: STM32F407 Strange SerialUsbDriver behavior

I can confirm this behavior using Saleae Logic tapping on USB wires. I'm using a STM32F303.
When I'm sending 64 bytes, I see one 64 bytes packet and one 1 byte packet.
When I'm sending 64 bytes via CDC, only one OUT packet is captured with length 64 bytes, no zero length packet follows.

I see no ...
by baoshi
Fri Jun 02, 2017 8:25 am
Forum: ChibiOS/HAL
Topic: ChibiOS Serial-over-USB + Serial
Replies: 1
Views: 2215

ChibiOS Serial-over-USB + Serial

I've successfully implemented a USB-UART bridge using Serial-over-USB (SDU1) and Serial (SD1).

Now I want to implement CDC_SET_LINE_CODING. I understand that I can write my own sduRequestsHook to do this. But sduRequestsHook is called from ISR and I cannot call thread level function sdStop(&SD1 ...
by baoshi
Wed Jan 27, 2016 5:10 pm
Forum: STM32 Support
Topic: Semihosting with newlib freeze
Replies: 9
Views: 9690

Re: Semihosting with newlib freeze

I dig in a little further and it seems freeze at
std.isra()

call stack was
std.isra()
__sinit()
_puts_r()
puts()
main()

I have no clue what is missing here.
by baoshi
Tue Jan 26, 2016 4:17 pm
Forum: STM32 Support
Topic: Semihosting with newlib freeze
Replies: 9
Views: 9690

Re: Semihosting with newlib freeze

No, I checked, not existing in map file.
While from a SDK build, I can see
c:/apps/armgcc/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv6-m\libc_nano.a(lib_a-init.o)
c:/apps/armgcc/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv6-m/rdimon-crt0.o (__libc ...
by baoshi
Tue Jan 26, 2016 3:21 pm
Forum: STM32 Support
Topic: Semihosting with newlib freeze
Replies: 9
Views: 9690

Semihosting with newlib freeze

I've been trying semihosting, by changing LD variable in the Makefile to:
LD = $(TRGT)gcc -specs=rdimon.specs
The balance I need to do is just to add
initialise_monitor_handles()
in main() to get printf() working.

However, if I try use newlib at the same time, where
LD = $(TRGT)gcc -specs=nano ...