Continuing the discussion from Digital signatures for RP2350 boards :
Can you help by reviewing / commenting on the proposed APIs for interacting with an OTP directory?
Initial PR (to my own branch … just to enable review comments more easily) is at:
henrygab:main
← henrygab:otp_direntries
opened 01:23AM - 31 Jan 25 UTC
Key file for review is `src/commands/global/otpdump.h`
Is this a usable API? … Comments?
Note that the implementation has a rough framework, but is untested and should be considered unstable. The header file should be stable, however.
My sacrificial RP2350 devices are now further delayed in shipping due to weather. I’m still hoping they’ll arrive sometime next week, so I can answer some lingering questions (e.g., by forcing ECC correction, ECC errors, Bit Recovery By Polarity Inversion, and other edge cases).
1 Like
ian
January 31, 2025, 2:16pm
2
It looks really complete and well thought out.
henrygab:
so I can answer some lingering questions (e.g., by forcing ECC correction, ECC errors, Bit Recovery By Polarity Inversion, and other edge cases).
The SDK demo does a pretty good job of showing how much you can recover with ECC and what happens with different bits flip.
1 Like
Hi Ian,
Can you help me find the OTP demo you mentioned?
This is the repo I’m starting at… perhaps it’s the wrong one?
GitHub - raspberrypi/pico-sdk
Thanks!
1 Like
ian
February 3, 2025, 8:00pm
4
// TODO: BIO use, pullups, psu
/*
Welcome to dummy.c, a growing demonstration of how to add commands to the Bus Pirate firmware.
You can also use this file as the basis for your own commands.
Type "dummy" at the Bus Pirate prompt to see the output of this command
Temporary info available at https://forum.buspirate.com/t/command-line-parser-for-developers/235
*/
#include <stdio.h>
#include <string.h>
#include "pico/stdlib.h"
#include "pirate.h"
#include "command_struct.h" // File system related
//#include "fatfs/ff.h" // File system related
//#include "pirate/storage.h" // File system related
#include "ui/ui_cmdln.h" // This file is needed for the command line parsing functions
// #include "ui/ui_prompt.h" // User prompts and menu system
// #include "ui/ui_const.h" // Constants and strings
#include "ui/ui_help.h" // Functions to display help in a standardized way
#include "system_config.h" // Stores current Bus Pirate system configuration
//#include "pirate/amux.h" // Analog voltage measurement functions
This file has been truncated. show original
The first #if 0 code at this commit. Be careful, it does actually burn bits and change bits. You can see it in my otp dump above.
ian
February 3, 2025, 8:04pm
5
Found the link to the SDK
1 Like