1
0
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:
bors[bot] 2023-06-13 10:59:31 +00:00 committed by GitHub
commit e2c5ea0009
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 8 deletions

View File

@ -77,15 +77,26 @@ Guide.
The MMA8652 sensor has I2C address 0x1d.
### Flashing the Board
The integrated programmer by default comes with an "LPC-LINK2" firmware that
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
details. It seems that the J-Link firmware is indeed a bit more reliable, so
if you run into issues during debugging and/or flashing, switching to the
J-Link firmware is an option.
details. It seems that the "LPC-LINK2" firmware the board is shipped with is
unreliable. Updating that as also described in the
[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
@ -97,8 +108,10 @@ In the application directory, run:
make BOARD=qn9080dk flash
```
OpenOCD support for the QN908x flash is experimental and available as pending
[patch](https://review.openocd.org/c/openocd/+/5584).
OpenOCD support for the QN908x flash is as of June 2023 not yet part of any
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

View File

@ -68,7 +68,7 @@ static const adc_conf_t adc_config[] = {
*/
static const i2c_conf_t i2c_config[] = {
{
.dev = I2C1,
.dev = I2C0, /* Flexcomm 1 */
.pin_scl = GPIO_PIN(PORT_A, 6),
.pin_sda = GPIO_PIN(PORT_A, 7),
.speed = I2C_SPEED_FAST,
@ -105,7 +105,7 @@ static const spi_conf_t spi_config[] = {
*/
static const uart_conf_t uart_config[] = {
{
.dev = USART0,
.dev = USART0, /* Flexcomm 0 */
.rx_pin = GPIO_PIN(PORT_A, 17),
.tx_pin = GPIO_PIN(PORT_A, 16),
},