Comments (8)
Logged internally as DSG-5242
from pymcuprog.
Would you mind sharing some additional logs on this? use for example the -v debug switch.
(I don't think the flash content will be exposed, just the packet details)
from pymcuprog.
PS C:\Users> pymcuprog -C -m flash -d ATTiny402 read -o 0 -b 256 -V
pymcuprog version 3.13.3.166
PS C:\Users> pymcuprog -C -m flash -d ATTiny402 read -o 0 -b 256 -v debug
Connecting to anything possible
Connected to Atmel-ICE CMSIS-DAP from ATMEL (serial number J42700016055)
Debugger firmware version 1.39.130
pymcuprog.programmer - INFO - Setting up programming session for 'attiny402'
pymcuprog.deviceinfo.deviceinfo - INFO - Looking for device attiny402
pymcuprog.nvm - INFO - UPDI baud rate: 900000bps
pymcuprog.nvm - INFO - UPDI-specific initialiser
pymcuprog.nvm - INFO - Activating chip-erase key entry mechanism
pymcuprog.nvm - INFO - Key chip-erase complete
Pinging device...
pymcuprog.programmer - INFO - Reading device ID...
pymcuprog.serialupdi.application - INFO - SIB: 'tinyAVR P:0D:0-3M2 (02.59B14.0)'
pymcuprog.serialupdi.application - INFO - Device family ID: 'tinyAVR'
pymcuprog.serialupdi.application - INFO - NVM interface: 'P:0'
pymcuprog.serialupdi.application - INFO - Debug interface: 'D:0'
pymcuprog.serialupdi.application - INFO - PDI oscillator: '3M2'
pymcuprog.serialupdi.application - INFO - Extra info: '(02.59B14.0)'
pymcuprog.nvm - INFO - PDI revision = 0x02
pymcuprog.nvm - INFO - Device ID: '1E9227'
pymcuprog.nvm - DEBUG - Device revision: 0x02
pymcuprog.nvm - INFO - Device revision: '0.2'
Ping response: 1E9227
Reading...
pymcuprog.programmer - INFO - Reading 256 bytes from flash...
pymcuprog.avr8target - INFO - Reading from address 0x000000
Memory type: flash
---------------------------------------------------------
0x008000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008070: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008080: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008090: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
---------------------------------------------------------
pymcuprog.nvm - INFO - UPDI-specific de-initialiser
Done.
PS C:\Users> pymcuprog -C -m flash -d ATTiny402 read -o 0 -b 257 -v debug
Connecting to anything possible
Connected to Atmel-ICE CMSIS-DAP from ATMEL (serial number J42700016055)
Debugger firmware version 1.39.130
Debugger hardware revision 0
pymcuprog.programmer - INFO - Setting up programming session for 'attiny402'
pymcuprog.deviceinfo.deviceinfo - INFO - Looking for device attiny402
pymcuprog.nvm - INFO - UPDI baud rate: 900000bps
pymcuprog.nvm - INFO - UPDI-specific initialiser
pymcuprog.nvm - INFO - Activating chip-erase key entry mechanism
pymcuprog.nvm - INFO - Key chip-erase complete
Pinging device...
pymcuprog.programmer - INFO - Reading device ID...
pymcuprog.serialupdi.application - INFO - SIB: 'tinyAVR P:0D:0-3M2 (02.59B14.0)'
pymcuprog.serialupdi.application - INFO - Device family ID: 'tinyAVR'
pymcuprog.serialupdi.application - INFO - NVM interface: 'P:0'
pymcuprog.serialupdi.application - INFO - Debug interface: 'D:0'
pymcuprog.serialupdi.application - INFO - PDI oscillator: '3M2'
pymcuprog.serialupdi.application - INFO - Extra info: '(02.59B14.0)'
pymcuprog.nvm - INFO - PDI revision = 0x02
pymcuprog.nvm - INFO - Device ID: '1E9227'
pymcuprog.nvm - DEBUG - Device revision: 0x02
pymcuprog.nvm - INFO - Device revision: '0.2'
Ping response: 1E9227
Reading...
pymcuprog.programmer - INFO - Reading 258 bytes from flash...
pymcuprog.avr8target - INFO - Reading from address 0x000000
Memory type: flash
---------------------------------------------------------
0x008000: 02 00 27 00 41 56 52 20 50 3A 30 44 3A 30 2D 33
0x008010: 4D 32 20 28 30 32 2E 35 39 42 31 34 2E 30 29 00
0x008020: 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008050: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008070: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008080: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008090: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x0080F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x008100: 00 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
---------------------------------------------------------
pymcuprog.nvm - INFO - UPDI-specific de-initialiser
Done.
PS C:\Users>
from pymcuprog.
This log is done on a confirmed erased chip. you can see on the second call with reading 257 bytes, the first few lines turn into nonsense
from pymcuprog.
Hi @jcharapata
I tried to reproduce this, but failed at first. Then I rolled back the atmel-ice firmware to the version that matches your output and it failed in the same way!
So: please update your atmel-ice firmware!
To do this you will need Atmel Studio's atfw.exe utility - download the latest pack from https://packs.download.microchip.com/ and run atfw.exe with -a
Hope this works!
from pymcuprog.
This resolved my issue! Had to update my IDE, Atmel Studio said the programmer was up to date!
Thanks for the assist!
from pymcuprog.
Hello, sorry for bothering you on a closed issue, but I'm seeing the same thing with an attiny817-xmini board (attiny817 has flash page size of 64 bytes). This uses mEDBG version 1.0d (shown in atmel studio -> Tools -> Device Programming). I think this is the latest version available, using atfw with the corresponding atpack fails, I've found instead medbg_fw.zip in atmel studio tree and I can confirm this is firmware 1.0d:
PS C:\Program Files (x86)\Atmel\Studio\7.0\atbackend> .\atfw.exe -a "C:\Program Files (x86)\Atmel\Studio\7.0\tools\mEDBG\medbg_fw.zip" -t medbg
Found medbg:ATML2658061800009405
Upgrading medbg:ATML2658061800009405
Upgrading MCU firmware: [==========]
Successful upgrade
PS C:\Program Files (x86)\Atmel\Studio\7.0\atbackend> .\atfw.exe -r -t medbg
Found medbg:ATML2658061800009405
Master MCU Version: 1.d
In a linux (fedora 36) VM with pymcuprog programming works fine, reading 254 bytes is fine, reading 255 bytes corrupts the first page.
$ pymcuprog read -b 254 -m flash -d attiny817 -v debug
Connecting to anything possible
Connected to mEDBG CMSIS-DAP from Atmel (serial number ATML2658061800009405)
Debugger firmware version 1.13.43
Debugger hardware revision 0
Device mounted: 'attiny817'
pymcuprog.programmer - INFO - Setting up programming session for 'attiny817'
pymcuprog.deviceinfo.deviceinfo - INFO - Looking for device attiny817
pymcuprog.nvm - INFO - UPDI baud rate: 900000bps
pymcuprog.nvm - INFO - UPDI-specific initialiser
Pinging device...
pymcuprog.programmer - INFO - Reading device ID...
pymcuprog.serialupdi.application - INFO - SIB: 'tinyAVR P:0D:0-3M2 (01.59B16.0)'
pymcuprog.serialupdi.application - INFO - Device family ID: 'tinyAVR'
pymcuprog.serialupdi.application - INFO - NVM interface: 'P:0'
pymcuprog.serialupdi.application - INFO - Debug interface: 'D:0'
pymcuprog.serialupdi.application - INFO - PDI oscillator: '3M2'
pymcuprog.serialupdi.application - INFO - Extra info: '(01.59B16.0)'
pymcuprog.nvm - INFO - PDI revision = 0x02
pymcuprog.nvm - INFO - Device ID: '1E9320'
pymcuprog.nvm - DEBUG - Device revision: 0x01
pymcuprog.nvm - INFO - Device revision: '0.1'
Ping response: 1E9320
Reading...
pymcuprog.programmer - INFO - Reading 254 bytes from flash...
pymcuprog.avr8target - INFO - Reading from address 0x000000
Memory type: flash
---------------------------------------------------------
0x008000: 19 C0 20 C0 1F C0 1E C0 1D C0 1C C0 1B C0 1A C0
0x008010: 19 C0 18 C0 17 C0 16 C0 15 C0 14 C0 13 C0 12 C0
0x008020: 11 C0 10 C0 0F C0 0E C0 0D C0 0C C0 0B C0 0A C0
0x008030: 09 C0 08 C0 11 24 1F BE CF EF CD BF DF E3 DE BF
0x008040: 02 D0 A6 C0 DD CF 88 ED 84 BF 81 E0 80 93 61 00
0x008050: 84 E0 80 93 21 04 88 E0 80 93 22 04 86 EB 92 E0
0x008060: 80 93 08 08 90 93 09 08 82 EC 80 93 06 08 83 E0
0x008070: 80 93 07 08 E8 EA F1 E8 82 ED 91 E8 21 91 30 91
0x008080: 04 08 35 FF FC CF 20 93 02 08 8E 17 9F 07 B1 F7
0x008090: 28 EA 31 E8 70 E2 5D E9 43 E0 60 E4 80 91 01 08
0x0080A0: 87 FF FC CF 90 91 00 08 96 36 51 F0 92 37 09 F4
0x0080B0: 60 C0 80 91 04 08 85 FF FC CF 90 93 02 08 EE CF
0x0080C0: E0 E0 F4 E8 80 81 81 93 E0 32 84 E8 F8 07 D1 F7
0x0080D0: 80 91 04 08 85 FF FC CF 70 93 02 08 80 91 01 08
0x0080E0: 87 FF FC CF 80 91 00 08 81 93 CF 01 8F 73 99 27
0x0080F0: 89 2B C1 F0 E4 38 FE 07 89 F7 80 81 81 93 xx xx
---------------------------------------------------------
pymcuprog.nvm - INFO - UPDI-specific de-initialiser
Done.
Compared to this:
$ pymcuprog read -b 255 -m flash -d attiny817 -v debug
Connecting to anything possible
Connected to mEDBG CMSIS-DAP from Atmel (serial number ATML2658061800009405)
Debugger firmware version 1.13.43
Debugger hardware revision 0
Device mounted: 'attiny817'
pymcuprog.programmer - INFO - Setting up programming session for 'attiny817'
pymcuprog.deviceinfo.deviceinfo - INFO - Looking for device attiny817
pymcuprog.nvm - INFO - UPDI baud rate: 900000bps
pymcuprog.nvm - INFO - UPDI-specific initialiser
Pinging device...
pymcuprog.programmer - INFO - Reading device ID...
pymcuprog.serialupdi.application - INFO - SIB: 'tinyAVR P:0D:0-3M2 (01.59B16.0)'
pymcuprog.serialupdi.application - INFO - Device family ID: 'tinyAVR'
pymcuprog.serialupdi.application - INFO - NVM interface: 'P:0'
pymcuprog.serialupdi.application - INFO - Debug interface: 'D:0'
pymcuprog.serialupdi.application - INFO - PDI oscillator: '3M2'
pymcuprog.serialupdi.application - INFO - Extra info: '(01.59B16.0)'
pymcuprog.nvm - INFO - PDI revision = 0x02
pymcuprog.nvm - INFO - Device ID: '1E9320'
pymcuprog.nvm - DEBUG - Device revision: 0x01
pymcuprog.nvm - INFO - Device revision: '0.1'
Ping response: 1E9320
Reading...
pymcuprog.programmer - INFO - Reading 256 bytes from flash...
pymcuprog.avr8target - INFO - Reading from address 0x000000
Memory type: flash
---------------------------------------------------------
0x008000: 55 25 00 00 00 00 00 01 00 00 30 44 3A 30 2D 33
0x008010: 4D 32 20 28 30 31 2E 35 39 42 31 36 2E 30 29 00
0x008020: 00 00 00 00 00 14 00 13 00 11 80 12 8A 12 20 93
0x008030: 00 00 00 00 11 24 1F BE CF EF CD BF DF E3 DE BF
0x008040: 02 D0 A6 C0 DD CF 88 ED 84 BF 81 E0 80 93 61 00
0x008050: 84 E0 80 93 21 04 88 E0 80 93 22 04 86 EB 92 E0
0x008060: 80 93 08 08 90 93 09 08 82 EC 80 93 06 08 83 E0
0x008070: 80 93 07 08 E8 EA F1 E8 82 ED 91 E8 21 91 30 91
0x008080: 04 08 35 FF FC CF 20 93 02 08 8E 17 9F 07 B1 F7
0x008090: 28 EA 31 E8 70 E2 5D E9 43 E0 60 E4 80 91 01 08
0x0080A0: 87 FF FC CF 90 91 00 08 96 36 51 F0 92 37 09 F4
0x0080B0: 60 C0 80 91 04 08 85 FF FC CF 90 93 02 08 EE CF
0x0080C0: E0 E0 F4 E8 80 81 81 93 E0 32 84 E8 F8 07 D1 F7
0x0080D0: 80 91 04 08 85 FF FC CF 70 93 02 08 80 91 01 08
0x0080E0: 87 FF FC CF 80 91 00 08 81 93 CF 01 8F 73 99 27
0x0080F0: 89 2B C1 F0 E4 38 FE 07 89 F7 80 81 81 93 00 xx
---------------------------------------------------------
pymcuprog.nvm - INFO - UPDI-specific de-initialiser
Done.
from pymcuprog.
Indeed you are right - it appears that this fix was made in the Atmel-ICE stack but not rolled out to the mEDBG... and this platform is no longer under maintenance. I think the solution here will have to involve doing the chunking by 128 (or just flash page size of 64) on the Python stack side rather than try to re-release that firmware...
from pymcuprog.
Related Issues (20)
- NO CMIS-DAP devices found HOT 3
- Add support for attiny841 HOT 2
- pymcuprog reports upload success but is not uploading code HOT 10
- Feature request: ability to set serial timeout when using serial UPDI HOT 3
- Return value 0 on error HOT 2
- No connection to ATmega4809 HOT 3
- Program write not working for AVR128DA MCU HOT 3
- Linux UART left in unknown state after first use flashing UPDI HOT 8
- Commandline option to explicitly set the DTR-line HOT 6
- Feature request: make info logging more concise HOT 2
- Feature request: PIC18 HOT 1
- Error return code when --verify fails HOT 2
- Error using chip erase HOT 1
- No communication on linux UPDI with attiny 1616
- nEDBG custom PIC18LF27K40 invalid device ID HOT 2
- Prevent MCU from booting between pymcuprog commands? HOT 4
- Corrupted flash memory writes for Atmega328p with ISP interface HOT 4
- Make it callable from the source code HOT 4
- dsPIC33 support 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 pymcuprog.