Comments (4)
Does the MIMXRT1170-EVKB have the reset line properly connected?
from probe-rs.
The reset circuit on the MIMXRT1170-EVKB looks like this:
Among others, TRG_RST can trigger an POR_PIN_RST_B:
However, TRG_RST seems not to be connected to the on-board debug probe which requires JP5 to be OPEN:
Connecting an external J-Link or MCU-Link debug probe to J87 and closing JP5 does not work and brings the error Arm(Dap(NoAcknowledge)):
![image](https://private-user-images.githubusercontent.com/46297951/292264307-8abd5e7a-d111-4f10-adc6-87ef81e19234.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE3NTQzMTMsIm5iZiI6MTcyMTc1NDAxMywicGF0aCI6Ii80NjI5Nzk1MS8yOTIyNjQzMDctOGFiZDVlN2EtZDExMS00ZjEwLWFkYzYtODdlZjgxZTE5MjM0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIzVDE3MDAxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU0MTIxMTcwZDNmYzFhNGI3ZGI0N2ViNzNhNTM4MGU0NjZmOThmMDFmZTgyYzZjMTRjOTI0Zjc4MWM4ZmQ2NWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.v2SOwpI3f0Kdef02y-KPUPpZi0uICHYOwEbdNUyf1go)
However, using J-Link with JLinkGDBServer either via on board probe or external probe and the VSCode Cortex-Debug extension seems to reset the the device correctly and allows step debugging from within VSCode connected to the source:
![image](https://private-user-images.githubusercontent.com/46297951/292265395-42849337-5555-4e1f-89a1-6c9968eb3483.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE3NTQzMTMsIm5iZiI6MTcyMTc1NDAxMywicGF0aCI6Ii80NjI5Nzk1MS8yOTIyNjUzOTUtNDI4NDkzMzctNTU1NS00ZTFmLTg5YTEtNmM5OTY4ZWIzNDgzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIzVDE3MDAxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUyYzNiYjg5YTk5ZWYyZDdjYWNmNDUzNTMwYWI0ODk0Yjc4NTFkNDdmMTcxN2E2MGZiNTdkZjgxNjYzNTg3YTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.1u3RtN8n5RB_ivEu7Jzk2ZRwLSdPVUE_pSUSTNkpA_w)
Does probe-rs need the "hard-reset" line POR_PIN_RST_B?
from probe-rs.
Hmm actually, we use a soft reset for the tools you are working with. I had a hunch it might be HW reset.
So it's possible the reset sequence for this target is broken :/
from probe-rs.
I don't have experience with this particular target, but while I was working on the support for another model in the same series -- starting over in #1642 -- I found that it required some special handling of reset due to some details of how the boot ROM works.
Specifically, the boot ROM runs in a state where halting debug is disabled and so the typical reset catch doesn't work properly. Instead, there's a documented workaround of placing a watchpoint on a particular address which the boot ROM then accesses just before it passes control to the user application. However, my symptom of having this wrong initially was just being unable to halt-before-boot, which you aren't trying to do here, so this particular thing probably isn't your immediate concern.
The other interesting quirk of the i.MX RT5xx series is that they require a carefully-formatted "header" data structure in the boot ROM, which includes some data interleaved into some architectually-reserved fields in the initial vector table and so it's incompatible with the way the cortex-m-rt
crate works. However, I see that you are already using imx_rt::entry
instead of cortex_m_rt::entry
, so hopefully you've already dealt with this part. I'm mentioning it just because my initial attempts failed with similar symptoms as reported here, and the fix was to correct the header to indicate that my code should run in non-secure mode.
The reference manual for this chip is structured completely differently to the one I was referring to and so I wasn't able to confirm whether similar concerns apply here, but hopefully this comment gives some clues for things that might be worth investigating!
from probe-rs.
Related Issues (20)
- When using cmsis-dap + jtag + riscv, probe-rs reports `The selected probe does not support the 'RISC-V' interface.` HOT 7
- Connection to a Cortex-M0 based Chip VA10820 fails HOT 19
- Failed to open the debug probe.: An error which is specific to the debug probe in use occurred.: found multiple matching USB interfaces (1 and 2) HOT 33
- Can't erase/flash nRF52840 HOT 3
- Generic riscv chip via JTAG uses ARM driver HOT 6
- Error on xtensa-esp32s3-espidf HOT 4
- EFR32MG22 locks and always fails to access the DAP register
- target-gen fails when trying to create a custom flash algorithm HOT 8
- Can't connect to nrf51 HOT 8
- Refactor semihosting command logic
- Problems with debugging VA416xx HOT 6
- Unable to attach to target RTT
- Failes to compile when zerocopys "derive" feature is active HOT 3
- probe-rs / target-gen using / failing memory verification aside official CMSIS functions HOT 2
- Cannot display infos about CYBLE-416045-EVAL through Segger J-link HOT 2
- Feature Request: Flash, run and debug an elf file into RAM directly HOT 13
- error flash armv7m with " core is in locked up status" HOT 4
- Regression for VA416xx Flash process HOT 10
- just "verify" frimware HOT 2
- probe-rs crashes from VSCode when viewing variables HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from probe-rs.