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.
|
||||
|
||||
|
||||
### 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
|
||||
|
||||
|
@ -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),
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user