Comments (9)
Check out my fixes in anpilog@d6e5ee2 on pyOCD/gdbserver/gdbserver.py
Very brutal but working.
from pyocd.
@anpilog Thanks for sharing, will look at it. Do you have also another platforms to test with?
from pyocd.
I have only LPC11U35 from EA.
On 28 Aug, 2014, at 9:47 am, Martin Kojtal [email protected] wrote:
@anpilog Thanks for sharing, will look at it. Do you have also another platforms to test with?
—
Reply to this email directly or view it on GitHub.
from pyocd.
Hi all,
I've make some comment on Andrey's patch, and maybe we can start our
merging there. It looks like the nrf firmware can't use any breakpoint? If
it is the case, how can user debug it? I think the main conflict part is
in pyOCD/gdbserver/gdbserver.py, which bp is disabled in this patch. One
simplest workaround I can thought of is to wrap Andrey's patch with some if
clause to make it unique for nfr target, but it's very ugly and increase
the difficulty of maintenance.
For the testing work on other target, I think I can take some part in next
week.
BR,
Tony
2014-08-28 9:48 GMT+08:00 Andrii Anpilogov [email protected]:
I have only LPC11U35 from EA.
On 28 Aug, 2014, at 9:47 am, Martin Kojtal [email protected]
wrote:@anpilog Thanks for sharing, will look at it. Do you have also another
platforms to test with?—
Reply to this email directly or view it on GitHub.—
Reply to this email directly or view it on GitHub
#55 (comment).
from pyocd.
Hi Tony,
I think it’s better introduce inherited gdb_server instances, target specific as it is for interfaces and targets.
I removed break points from gdb resume function because soft device somehow blocks communication to DAP (I have no idea how it happens).
So this is not nrf51 specific, it’s SoftDevice specific.
Regards
On 28 Aug, 2014, at 10:57 am, Tony Wang [email protected] wrote:
Hi all,
I've make some comment on Andrey's patch, and maybe we can start our
merging there. It looks like the nrf firmware can't use any breakpoint? If
it is the case, how can user debug it? I think the main conflict part is
in pyOCD/gdbserver/gdbserver.py, which bp is disabled in this patch. One
simplest workaround I can thought of is to wrap Andrey's patch with some if
clause to make it unique for nfr target, but it's very ugly and increase
the difficulty of maintenance.For the testing work on other target, I think I can take some part in next
week.BR,
Tony2014-08-28 9:48 GMT+08:00 Andrii Anpilogov [email protected]:
I have only LPC11U35 from EA.
On 28 Aug, 2014, at 9:47 am, Martin Kojtal [email protected]
wrote:@anpilog Thanks for sharing, will look at it. Do you have also another
platforms to test with?—
Reply to this email directly or view it on GitHub.—
Reply to this email directly or view it on GitHub
#55 (comment).—
Reply to this email directly or view it on GitHub.
from pyocd.
2014-08-28 11:14 GMT+08:00 Andrii Anpilogov [email protected]:
Hi Tony,
I think it’s better introduce inherited gdb_server instances, target
specific as it is for interfaces and targets.
Ehm, I'm wondering if such an inheritance is necessary, because generally,
the gdb_server shouldn't have any tagret specific information as it
communicates with the cmsis-dap, not the specific target.
I removed break points from gdb resume function because soft device
somehow blocks communication to DAP (I have no idea how it happens).
I'm wondering the softdevice firmware is running on the same chip of the
cmsis-dap(sorry about that I have no knowledge about the nordic product)?
Basically, the cmsis-dap runs on a single debugger chip which is isolate
with user application chip. Maybe anyone can share me some documentation
about the detail of softdevice??
So this is not nrf51 specific, it’s SoftDevice specific.
Regards
On 28 Aug, 2014, at 10:57 am, Tony Wang [email protected] wrote:
Hi all,
I've make some comment on Andrey's patch, and maybe we can start our
merging there. It looks like the nrf firmware can't use any breakpoint?
If
it is the case, how can user debug it? I think the main conflict part is
in pyOCD/gdbserver/gdbserver.py, which bp is disabled in this patch. One
simplest workaround I can thought of is to wrap Andrey's patch with some
if
clause to make it unique for nfr target, but it's very ugly and increase
the difficulty of maintenance.For the testing work on other target, I think I can take some part in
next
week.BR,
Tony2014-08-28 9:48 GMT+08:00 Andrii Anpilogov [email protected]:
I have only LPC11U35 from EA.
On 28 Aug, 2014, at 9:47 am, Martin Kojtal [email protected]
wrote:@anpilog Thanks for sharing, will look at it. Do you have also
another
platforms to test with?—
Reply to this email directly or view it on GitHub.—
Reply to this email directly or view it on GitHub
#55 (comment).—
Reply to this email directly or view it on GitHub.—
Reply to this email directly or view it on GitHub
#55 (comment).
from pyocd.
Nordic implemented BLE host as firmware that runs on same CPU.
It's located in first 0x16000-0x18000 bytes of flash.
So actual application has to be written with offset.
You could find more details here: https://devzone.nordicsemi.com/documentation/nrf51/5.2.0/Introduction_to_the_S110_SoftDevice_v1.0.pdf
Better explanation is in S110_SoftDevice_Specification v1.1.pdf but I can't find it in public access.
I agree with you gdb server implementation should not be target specific.
Keil and openocd works well with SoftDevice and I wonder why.
As an option I would add new configuration parameter to GDB server.
Something like "disable break at hardfault handler". Probably it could be useful on some other platforms.
But so far nrf51 looks like an exception.
I hope I would have couple spare hours this weekend and have a look on that.
Regards
from pyocd.
Agreed with Andrey to add an option to workaround this problem.
from pyocd.
Is this still valid with the latest master (included #62 pull request) ?
from pyocd.
Related Issues (20)
- I encountered an issue while using pyOCD with a Cortex-M33 microcontroller. The error occurs during the session initialization and seems to be related to the AP (Access Port) address. HOT 3
- Fixing bad MEM-AP BASE
- EFR32BG24 compatibility with ST-Link
- Silabs EFR32BG24 stopped working
- Cannot step over / into when using ThreadX RTOS support.
- pyocd fails to write cortex_m0 / hk32f030mf4p6 chip after upgrade to 0.36
- Archlinux will encounter the following error when executing pyocd HOT 1
- Adding one more picoprobe VID/PID HOT 1
- 0.36.0: svd_data.zip is not reproducible
- Cannot find debugger on macOS
- 0.36.0 gdbserver generates "USB Error: [Errno 10060] Operation timed out" HOT 1
- `xml.etree.ElementTree.ParseError: XML or text declaration not at start of entity: line 1, column 2` while resetting `gd32f470zg` HOT 1
- pyocd reset --target mimxrt1170_cm7 does not perform reset in any of the available modes
- Unable to reset stm32wba52cgux using Python API.
- RTT control block search code malfunction
- pyocd gdbserver crash
- Pyocd not flashing nrf52833 HOT 3
- Vendor-specific command support on CMSIS-DAP probes
- Pyocd input echo garbled code HOT 1
- Cannot erase or flash NXP LPC55S3x
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 pyocd.