gniibe at fsij.org
Tue May 14 04:00:00 CEST 2019
Chopstx 1.15 is released.
Tagger: NIIBE Yutaka <gniibe at fsij.org>
Date: Tue May 14 10:31:58 2019 +0900
* Cortex-M4 support
Cortex-M4 support has been added. Not supporting use of FPU or DSP,
yet. Note that it's not intend to be used by Gnuk.
* STM32L432 support
USART and USB drivers are added.
* New board support: ST Nucleo-32 L432
ST Nucleo-32 L432 is a small board with ST-Link/V2-1.
* Minor implementation change: chopstx_claim_irq
If the interrupt is disabled (possibly by chx_intr) when
chopstx_claim_irq is called, INTR->ready is set to 1. This allows
calling chopstx_claim_irq after hardware initialization which may
cause an interrupt before the call of chopstx_claim_irq.
and then, changes for USB:
* SYS version 4.0
USB initialization/finalization API has been changed. SYS routines
only handle USB cable configuration when supported by a board.
* USB driver change
Enabling/disabling USB module is done by USB driver. It's
responsibility of board configuration to enable external transistor
for pull-up D+-line by board/*.h. For all boards, USB driver doesn't
use usb_lld_sys_init or usb_lld_sys_shutdown (those routines only can
be used for USB self powered system, which Chopstx does not support
* Board configuration change
For USB driver change, board-maple-mini.h, board-olimex-stm32-h103.h,
board-stbee.h, and board-stm32-primer2.h were changed. Pull-up is
enabled at the time of gpio_init.
After ten years of experience, by comparing a board of STM32L432, I
finally understand the exact reason (and confusion) why some boards of
STM32F103 have a transistor to pull-up D+ line of USB. It is required
to conform the USB specification not driving D+ line at start when a
board runs in self-powered mode. And it can be used (for both of
self-powered and bus-powered) to disconnect USB from device side.
The latter can be done by other method, making SE0 state (by driving
both of D+ line and D- line to GND). So, it is OK for bus-powered
system to have fixed pull-up resistor on D+ line.
Since modern MCU like STM32L432 has internal pull-up resistor support,
there is no difference among boards.
* * *
I ported Chopstx to STM32L432, because of this:
Tian Tian Xiang Shang - Another Hardware:
Version 0.0 of Tian Tian Xiang Shang (a smartcard reader implementation)
is avaiable at:
More information about the Gnuk-users