Flashing IMXRT1160
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 560
- Avg merge
- 1h 41m
- Merged PRs (30d)
- 3
Description
Hello,
To my understanding pyOCD does not yet have the functionality for programming the IMXRT1160. I'm just trying to build a simpler workflow for myself without having to use MCUXpresso. However, when I attempt to flash it, it seems that everything goes fine (I've tried flashing without -a 0x30000000, but just wanted to try to see if there was a mismatch in the destination address). I'm quite new to the development board, so I've might have missed something.
$ armgcc pyocd load -a 0x30000000 debug/hello_world_demo_cm7.elf -v
0000762 I Target type is mimxrt1170_cm7 [board]
0000820 I DP IDR = 0x6ba02477 (v2 rev6) [dap]
0000826 I AHB-AP#0 IDR = 0x84770001 (AHB-AP var0 rev8) [ap]
0000839 I AHB-AP#0 IDR = 0x84770001 (AHB-AP var0 rev8) [ap]
0000868 I AHB-AP#1 IDR = 0x24770011 (AHB-AP var1 rev2) [ap]
0000878 I APB-AP#2 IDR = 0x54770002 (APB-AP var0 rev5) [ap]
0000896 I AHB-AP#0 Class 0x1 ROM table #0 @ 0xe00fd000 (designer=00e:NXP part=88c) [rom_table]
0000899 I [0]<e00fe000:ROM class=1 designer=43b:Arm part=4c8> [rom_table]
0000900 I AHB-AP#0 Class 0x1 ROM table #1 @ 0xe00fe000 (designer=43b:Arm part=4c8) [rom_table]
0000933 I [0]<e00ff000:ROM class=1 designer=43b:Arm part=4c7> [rom_table]
0000933 I AHB-AP#0 Class 0x1 ROM table #2 @ 0xe00ff000 (designer=43b:Arm part=4c7) [rom_table]
0000936 I [0]<e000e000:SCS v7-M class=14 designer=43b:Arm part=00c> [rom_table]
0000939 I [1]<e0001000:DWT v7-M class=14 designer=43b:Arm part=002> [rom_table]
0000941 I [2]<e0002000:FPB v7-M class=14 designer=43b:Arm part=00e> [rom_table]
0000944 I [3]<e0000000:ITM v7-M class=14 designer=43b:Arm part=001> [rom_table]
0000947 I [1]<e0041000:ETM M7 class=9 designer=43b:Arm part=975 devtype=13 archid=4a13 devid=0:0:0> [rom_table]
0000952 I [2]<e0042000:CTI class=9 designer=43b:Arm part=906 devtype=14 archid=0000 devid=40800:0:0> [rom_table]
0000957 I [1]<e0043000:CSTF class=9 designer=43b:Arm part=908 devtype=12 archid=0000 devid=28:0:0> [rom_table]
0000964 I AHB-AP#1 Class 0x1 ROM table #0 @ 0xe00ff000 (designer=43b:Arm part=4c4) [rom_table]
0001005 I [0]<e000e000:SCS v7-M class=14 designer=43b:Arm part=00c> [rom_table]
0001008 I [1]<e0001000:DWT v7-M class=14 designer=43b:Arm part=002> [rom_table]
0001010 I [2]<e0002000:FPB v7-M class=14 designer=43b:Arm part=003> [rom_table]
0001011 I [3]<e0000000:ITM v7-M class=14 designer=43b:Arm part=001> [rom_table]
0001015 I [5]<e0041000:ETM M4 class=9 designer=43b:Arm part=925 devtype=13 archid=0000 devid=0:0:0> [rom_table]
0001019 I [7]<e0043000:CSTF class=9 designer=43b:Arm part=908 devtype=12 archid=0000 devid=28:0:0> [rom_table]
0001024 I [8]<e0042000:CTI class=9 designer=43b:Arm part=906 devtype=14 archid=0000 devid=40800:0:0> [rom_table]
0001030 I CPU core #0 is Cortex-M7 r1p2 [cortex_m]
0001033 I FPU present: FPv5-D16-M [cortex_m]
0001037 I 4 hardware watchpoints [dwt]
0001039 I 8 hardware breakpoints, 1 literal comparators [fpb]
0001092 I 4 hardware watchpoints [dwt]
0001093 I 6 hardware breakpoints, 4 literal comparators [fpb]
0001102 I Loading /home/simengangstad/Downloads/imx-gcc/boards/evkmimxrt1160/demo_apps/hello_world/cm7/armgcc/debug/hello_world_demo_cm7.elf at 0x30000000 [load_cmd]
[==================================================] 100%
0002474 I Erased 0 bytes (0 sectors), programmed 24232 bytes (0 pages), skipped 0 bytes (0 pages) at 17.29 kB/s [loader]
The image is not updated on the board however after reset, so something funky is going on. Another weird issue is that the reported board is the IMXRT1170, even though I'm working on the IMXRT1160:
$ pyocd list
# Probe/Board Unique ID Target
---------------------------------------------------------------------------------------------------
0 ARM DAPLink CMSIS-DAP 02440b030209e95700000000000000000000000097969905 ✔︎ mimxrt1170_cm7
MIMXRT1170-EVK
If there is anything I can do to make this possible I'm more than happy to help!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the pyocd load and pyocd list entry points and compare the reported mimxrt1170_cm7 target with the IMXRT1160 board and the 0x30000000 load address. Reproduce the command and reset behavior, then determine what target support or identification is missing; done means the IMXRT1160 image is updated and the board is reported correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100