mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
19730: boards/qn9080dk: fix periph conflict r=maribu a=maribu ### Contribution description - Document which I2C/SPI/UART peripheral maps to which FLEXCONN IP block to easily detect potential overlap - Switch conflict between SPI and I2C peripheral by using a different FLEXCONN for I2C 19731: boards/qn9080dk: update doc on flashing r=maribu a=maribu ### Contribution description - update the doc on the internal programmer firmware: - not only switching to J-Link, but also just updating it does improve reliability of flashing - give hints in how to get the ~~shitty~~ wonderful update process working - update notes on OpenOCD requirements Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
This commit is contained in:
commit
e2c5ea0009
@ -77,15 +77,26 @@ Guide.
|
|||||||
|
|
||||||
The MMA8652 sensor has I2C address 0x1d.
|
The MMA8652 sensor has I2C address 0x1d.
|
||||||
|
|
||||||
|
|
||||||
### Flashing the Board
|
### Flashing the Board
|
||||||
|
|
||||||
The integrated programmer by default comes with an "LPC-LINK2" firmware that
|
The integrated programmer by default comes with an "LPC-LINK2" firmware that
|
||||||
provides a CMSIS DAP compatible interface. The programmer can be flashed with
|
provides a CMSIS DAP compatible interface. The programmer can be flashed with
|
||||||
a Segger J-Link firmware via DFU, see the [LPCSCrypt User Guide][LPCScrypt] for
|
a Segger J-Link firmware via DFU, see the [LPCSCrypt User Guide][LPCScrypt] for
|
||||||
details. It seems that the J-Link firmware is indeed a bit more reliable, so
|
details. It seems that the "LPC-LINK2" firmware the board is shipped with is
|
||||||
if you run into issues during debugging and/or flashing, switching to the
|
unreliable. Updating that as also described in the
|
||||||
J-Link firmware is an option.
|
[LPCSCrypt User Guide][LPCScrypt] or switching to the J-Link firmware is
|
||||||
|
recommended.
|
||||||
|
|
||||||
|
@warning The update software is quite flaky. Do not connect other USB
|
||||||
|
device providing a serial (e.g. CDC ACM) to not confuse it. You may
|
||||||
|
need to adapt the shell script to grep for the correct vid/pid pair
|
||||||
|
using hex values prefixed with `0x` when using a `dfu-util` in a
|
||||||
|
more recent version than the script expects.
|
||||||
|
|
||||||
|
@note The Windows version of the software is at least equally frustrating.
|
||||||
|
So you may was well use the Linux variant and fix the
|
||||||
|
shell script as needed rather than spinning up a Windows VM in the
|
||||||
|
hope to safe pain in the ass.
|
||||||
|
|
||||||
[LPCScrypt]: https://web.archive.org/web/20220225151231/https://www.nxp.com/docs/en/user-guide/LPCScrypt_User_Guide.pdf
|
[LPCScrypt]: https://web.archive.org/web/20220225151231/https://www.nxp.com/docs/en/user-guide/LPCScrypt_User_Guide.pdf
|
||||||
|
|
||||||
@ -97,8 +108,10 @@ In the application directory, run:
|
|||||||
make BOARD=qn9080dk flash
|
make BOARD=qn9080dk flash
|
||||||
```
|
```
|
||||||
|
|
||||||
OpenOCD support for the QN908x flash is experimental and available as pending
|
OpenOCD support for the QN908x flash is as of June 2023 not yet part of any
|
||||||
[patch](https://review.openocd.org/c/openocd/+/5584).
|
release, but has been merged upstream. It is expected to be included first in
|
||||||
|
the 0.13 release of OpenOCD. Until then, compiling a version from the current
|
||||||
|
git source is the needed.
|
||||||
|
|
||||||
#### Using the Internal Programmer with J-Link Firmware
|
#### Using the Internal Programmer with J-Link Firmware
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ static const adc_conf_t adc_config[] = {
|
|||||||
*/
|
*/
|
||||||
static const i2c_conf_t i2c_config[] = {
|
static const i2c_conf_t i2c_config[] = {
|
||||||
{
|
{
|
||||||
.dev = I2C1,
|
.dev = I2C0, /* Flexcomm 1 */
|
||||||
.pin_scl = GPIO_PIN(PORT_A, 6),
|
.pin_scl = GPIO_PIN(PORT_A, 6),
|
||||||
.pin_sda = GPIO_PIN(PORT_A, 7),
|
.pin_sda = GPIO_PIN(PORT_A, 7),
|
||||||
.speed = I2C_SPEED_FAST,
|
.speed = I2C_SPEED_FAST,
|
||||||
@ -105,7 +105,7 @@ static const spi_conf_t spi_config[] = {
|
|||||||
*/
|
*/
|
||||||
static const uart_conf_t uart_config[] = {
|
static const uart_conf_t uart_config[] = {
|
||||||
{
|
{
|
||||||
.dev = USART0,
|
.dev = USART0, /* Flexcomm 0 */
|
||||||
.rx_pin = GPIO_PIN(PORT_A, 17),
|
.rx_pin = GPIO_PIN(PORT_A, 17),
|
||||||
.tx_pin = GPIO_PIN(PORT_A, 16),
|
.tx_pin = GPIO_PIN(PORT_A, 16),
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user