MX6 QNX Sections: Difference between revisions
No edit summary |
m (Links auto-updated for 2022 re-branding ( https://files.embeddedarm.com/ts-arm-sbc/ts-7970-qnx/images/ts7970-qnx-6.6.0-latest.dd.bz2.md5 → https://files.embeddedTS.com/ts-arm-sbc/ts-7970-qnx/images/ts7970-qnx-6.6.0-latest.dd.bz2.md5 https://files.embeddedarm.com/ts-arm-sbc/ts-7970-qnx/source/BSP_freescale-imx6dl-ts7970-latest.tar.gz → https://files.embeddedTS.com/ts-arm-sbc/ts-7970-qnx/source/BSP_freescale-imx6dl-ts7970-latest.tar.gz https://files.embeddedarm.com/ts-arm-sbc/ts-7970-qn...) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
QNX is an RTOS that supports the i.MX6 CPU. We provide a BSP for the TS-4900 and TS-7970 quad core or solo based on [http://www.qnx.com/products/neutrino-rtos/neutrino-rtos.html QNX Neutrino] 6.6.0. The supporting files are available here: | QNX is an RTOS that supports the i.MX6 CPU. We provide a BSP for the TS-4900 and TS-7970 quad core or solo based on [http://www.qnx.com/products/neutrino-rtos/neutrino-rtos.html QNX Neutrino] 6.6.0. The supporting files are available here: | ||
* Disk Image: [ | * Disk Image: [https://files.embeddedTS.com/ts-arm-sbc/ts-7970-qnx/images/ts7970-qnx-6.6.0-latest.dd.bz2 ts7970-qnx-6.6.0-latest.dd.bz2] [https://files.embeddedTS.com/ts-arm-sbc/ts-7970-qnx/images/ts7970-qnx-6.6.0-latest.dd.bz2.md5 (md5)] | ||
* Quad core source [ | * Quad core source [https://files.embeddedTS.com/ts-arm-sbc/ts-7970-qnx/source/BSP_freescale-imx6q-ts7970-latest.tar.gz BSP_freescale-imx6q-ts7970-latest.tar.gz] [https://files.embeddedTS.com/ts-arm-sbc/ts-7970-qnx/source/BSP_freescale-imx6q-ts7970-latest.tar.gz.md5 (md5)] | ||
* Solo core source [ | * Solo core source [https://files.embeddedTS.com/ts-arm-sbc/ts-7970-qnx/source/BSP_freescale-imx6dl-ts7970-latest.tar.gz BSP_freescale-imx6dl-ts7970-latest.tar.gz] [https://files.embeddedTS.com/ts-arm-sbc/ts-7970-qnx/source/BSP_freescale-imx6dl-ts7970-latest.tar.gz.md5 (md5)] | ||
We provide support for booting QNX on our platforms, but further support is provided by QNX | We provide support for booting QNX on our platforms, but further support is provided by QNX |
Latest revision as of 16:37, 17 January 2022
QNX is an RTOS that supports the i.MX6 CPU. We provide a BSP for the TS-4900 and TS-7970 quad core or solo based on QNX Neutrino 6.6.0. The supporting files are available here:
- Disk Image: ts7970-qnx-6.6.0-latest.dd.bz2 (md5)
- Quad core source BSP_freescale-imx6q-ts7970-latest.tar.gz (md5)
- Solo core source BSP_freescale-imx6dl-ts7970-latest.tar.gz (md5)
We provide support for booting QNX on our platforms, but further support is provided by QNX
Known Working:
- UARTs 1-5
- Ethernet
- I2C 1, I2C 2
- SD (/dev/hd0)
- eMMC (/dev/emmc0)
- USB Host
- SPI NOR (/dev/fs0)
- HDMI (TS-7970 only)
- LCD Interface (TS-TPC-8390 with TS-4900 only)
- RS485
Known not working:
- WIFI
- FPGA based UARTs
Not yet tested:
- I210 (Second gig eth)
QNX BSP
Before compiling QNX be sure to edit the file: src/hardware/startup/boards/imx6x/ts7970/board.h Set either BOARD_TS7970 or BOARD_TS4900 depending on the target board.
We have also included a port of tshwctl which is used to access the FPGA. This allows you to read/write FPGA registers and to change the crossbar. For example, to set up auto TXEN on the TS-7970 RS-485 port (/dev/ser4):
export MB_TXD=TTYSER4_TXD
export TTYMAX1_RXD=GPIO
export TTYSER4_RXD=MB_RXD_485
export TXD_232_COM=GPIO
export MB_TX_EN_485=TTYSER4_TXEN
tshwctl -b 0x7970 -s
tshwctl -b 0x7970 -c
This will print out the modified state of the crossbar. The relevant pins are now:
TTYSER4_RXD ( in) ( 0) MB_RXD_485 MB_TXD ( in) ( 0) TTYSER4_TXD MB_TX_EN_485 ( in) ( 0) TTYSER4_TXEN TTYMAX1_RXD ( in) ( 0) GPIO TXD_232_COM ( in) ( 0) GPIO
Use tshwctl to specify the baud rate and mode of the uart so the TX enable pin will be automatically toggled.
tshwctl -b 0x7970 -a 4 -x 115200 -i 8n1
/dev/ser4 is now configured for RS485 traffic.
QNX Booting
Write the example image to a disk.
bzip2 -d ts7970-qnx-6.6.0-20150707.dd.bz2
#Replace sdx with your device. Try lsblk to find your SD card.
sudo dd if=ts7970-qnx-6.6.0-20150707.dd bs=4M of=/dev/sdx
sync
Reinsert or partprobe the disk, and there will be a single partition present. The partition includes the QNX IFS, and a u-boot script. On startup the imx6 is configured to launch the hush script. If present, at /boot/boot.ub on either the SD or eMMC depending on if the SD boot jumper is present. The script loads the FPGA, then copies the QNX ifs into memory and jumps into it to begin execution.