[[TOC]]
This README provides a comprehensive guide for using the MBa117xL board with the TQMBa1176L module using the M4-Cortex and the M7-Cortex. It includes several demo applications that showcase the capabilities of the board and the MCUXpresso SDK software. The demos range from simple sanity checks like the "Hello World" demo to more complex demonstrations.
- General requirements
- MCUXpresso Secure Provisioning Tool : V7
Hardware | Description | Pin Reference |
---|---|---|
Micro USB cable | Required for connecting the board to your computer for programming and communication. | X1 |
J-Link Debug Probe | Used for debugging and programming the board. | X39 |
Personal Computer | Required for programming and interacting with the board. | - |
Power Supply | A power supply with a voltage of 24V is required to power the board. | X13 |
Please note that these requirements are specific to the MBa117xL board using the TQMBa1176L module. Always refer to the specific READMEs of the demo you are running for any additional hardware requirements. Further informations can be found in the documentation directory.
Configure the serial terminal with the following settings:
- 115200 baud rate
- 8 data bits
- No parity
- One stop bit
- No flow control
- Select the appropriate COM interface for the two cores.
The MBa117xL supports the following applications:
Application | Purpose |
---|---|
demo_afe | Demonstrates the Analog Front End (AFE) capabilities |
demo_digital_io | Illustrates basic functions of the port expander |
demo_eeprom | Illustrates the usage of the EEPROM M24C64 |
demo_ethernet_qos | Demonstrates Ethernet communication features |
demo_ethernet_1g | Demonstrates Ethernet communication features |
demo_flexcan | Shows the functionalities of the Flexible Controller Area Network (FlexCAN) |
demo_gpio_led | Demonstrates General-Purpose Input/Output (GPIO) with LED control |
demo_hello_world | Basic "hello_world" demonstration |
demo_iot | Showcases IoT module BG95-M4 |
demo_PMIC | Demonstrates PMIC functionalities |
demo_rs485 | Demonstrates operations over RS-485 communication standard |
demo_RTC | Shows built-in RTC's functionalities |
demo_sdcard | Demonstrates reading from and writing to a Secure Digital (SD) card |
demo_SE97BTP | Showcases possible operations with the temperature-sensor and EEPROM SE97BTP |
demo_spi_flash | Demonstrates SPI flash memory (MX25R1635F) operations |
demo_usb | Demonstrates USB communication features |
demo_display_dsi | Demonstrates DSI display feature |
Each demo includes a README with more detailed information, including its purpose, preparation steps, and expectations when running the demo.
Refer to these instructions to build an application.
These are the available settings for bootDisk
:
- Ram: Linking for TCM.
- Flash: Linking for QSPI NOR.
- SD-Ram-Flash: Linking for QSPI NOR activating the SD-RAM.
NOTE: Linking for SD-RAM isn't available yet and is planned to be included.
Refer to GDB-Server or follow the instructions for VS-Code debugging to load the targets after setting up the proper booting configuration.
Load the desired target .bin
file into address 0x00 or use a .elf
file linked directly to the internal RAM.
When using J-Link for debugging or firmware loading, ensure the FLEXSPI1 pin multiplexing is correctly configured for the MBa117xL.
These are the settings for JLink-GDB related programs:
"-device",
"MIMXRT1176xxxA_M7?BankAddr=0x30000000&Loader=nCS@AD18_CLK@AD19_D0@AD20_D1@AD21_D2@AD22_D3@AD23&BankAddr=0x60000000&Loader=nCS@SDB100_CLK@SDB101_D0@SDB102_D1@SDB103_D2@SDB104_D3@SDB105"
Attention: Before booting, it is mandatory to set the right fuses.
After setting fuses, set the dip switch as follows:
S3-1 | S3-2 | S3-3 | S3-4 |
---|---|---|---|
OFF | OFF | OFF | OFF |
S4-1 | S4-2 | S4-3 | S4-4 |
---|---|---|---|
OFF | OFF | OFF | OFF |
S5-1 | S5-2 | S5-3 | S5-4 |
---|---|---|---|
OFF | OFF | OFF | OFF |
S6-1 | S6-2 | S6-3 | S6-4 |
---|---|---|---|
OFF | ON | ON | ON |
Before debugging, specify the appropriate device configuration in the launch.json file. Refer to the launch.json example provided. Follow the instructions on debugging with VS-Code.
Use GDB for independent loading and debugging targets from your IDE:
-
Start GDB server.
-
Select the connection via USB.
-
Select device
MIMXRT1176xxxA_M7
and set the endian toLittle Endian
. -
Select
JTAG
as the interface with a fixed speed of 4000 kHz.- NOTE: If debugging doesn't work as expected, you can try changing the interface to SWD and/or varying the interface speed.
-
Select the right flash bank for FlexSPI 1:
nCS@AD18_CLK@AD19_D0@AD20_D1@AD21_D2@AD22_D3@AD23&BankAddr=0x60000000&Loader=nCS@SDB100_CLK@SDB101_D0@SDB102_D1@SDB103_D2@SDB104_D3@SDB105
-
Further options are optional.
-
Then start gdb via CLI.
-
Follow the command for booting:
file <PATH.elf> target remote localhost:<port> monitor reset monitor halt load monitor go
To boot from the flash device, follow these steps:
- Power off the board.
- Set the dip switch as follows:
S3-1 | S3-2 | S3-3 | S3-4 |
---|---|---|---|
OFF | OFF | OFF | OFF |
S4-1 | S4-2 | S4-3 | S4-4 |
---|---|---|---|
OFF | OFF | OFF | OFF |
S5-1 | S5-2 | S5-3 | S5-4 |
---|---|---|---|
OFF | OFF | OFF | OFF |
S6-1 | S6-2 | S6-3 | S6-4 |
---|---|---|---|
ON | OFF | ON | ON |
-
After setting up the boot mode, establish a connection between the host computer and the target hardware via UART1.
-
Open the Secure Provisioning Tool.
-
Open the processor menu in the upper left corner and select the target processor
MIMXRT1176
. -
Select UART as the connection type and set the COM port to the one used for the target hardware connection. The default baud rate setting of 115200 can be kept. Check the connection with the "Test Connection" button afterward.
-
Now open the
Build image
tab right below the target processor in the upper left corner. -
Select
OTP Configuration
. -
The OTP Configuration menu opens and asks to read the current values from the target processor, select "Yes" here.
-
If the fuses can be read correctly, the status message "Successfully updated fuses values" is shown in the message area at the bottom of the "OTP Configuration" window.
-
If something went wrong, please check the connection to the target hardware and try to read the fuses again by clicking the "Read" button at the window bottom.
-
Now select the
fuse 0x9A0
from the Boot param section and select the wildcard on bit 10. -
When clicking on the wildcard it changes from "*" to "1". The "Required value" should now be
0x400
. Double-check these values.- ATTENTION: A wrong setting on
fuse 0x9A0
leads to bricked target hardware that can no longer boot from the QSPI NOR Flash.
- ATTENTION: A wrong setting on
-
Select
Advanced Mode
in the bottom left corner. -
Now click on
Burn
. Confirm. -
You should have got a success message.