Files
bootloader10
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
This is a very simple bootloader. Yes the pico makes it easy to run programs in flash or ram, but anyway... GPIO 0 UART0 TX GPIO 1 UART0 RX 115200 N81 Can use another pico as a picoprobe. Pico Probe GP4/UART1 TX -> Pico Target GP1/UART0 RX Pico Probe GP5/UART1 RX -> Pico Target GP0/UART0 TX This bootloader is expecting motorola s-record formatted data. en.wikipedia.org/wiki/SREC_(file_format) arm-whatever-objcopy --srec-forceS3 notmain.elf -O srec notmain.srec It is specifically expecting S3 records S00F00006E6F746D61696E2E737265631F S3150000800002D9A0E3050000EBFEFFFFEA001080E5C1 S315000080101EFF2FE1000090E51EFF2FE11EFF2FE15E S3150000802010402DE9A4009FE5F9FFFFEB0E16C0E313 S31500008030021681E394009FE5F3FFFFEB90009FE5B6 S315000080400219A0E3F0FFFFEB0040A0E30400A0E16B S31500008050014084E2F0FFFFEB020754E3FAFFFF1A48 S3150000806070009FE50219A0E3E7FFFFEB0040A0E3E5 S315000080700400A0E1014084E2E7FFFFEB020754E3BE S31500008080FAFFFF1A48009FE50219A0E3DEFFFFEBA7 S315000080900040A0E30400A0E1014084E2DEFFFFEB24 S315000080A0020754E3FAFFFF1A28009FE50219A0E32E S315000080B0D5FFFFEB0040A0E30400A0E1014084E20D S315000080C0D5FFFFEB030654E3FAFFFF1ADAFFFFEAD8 S311000080D0100020202C0020202000202082 S705000080007A Not S1 records S00D000068656C6C6F2E7372656303 S113800002D9A0E3050000EBFEFFFFEA001080E5C3 S11380101EFF2FE1000090E51EFF2FE11EFF2FE160 S113802010402DE9A4009FE5F9FFFFEB0E16C0E315 S1138030021681E394009FE5F3FFFFEB90009FE5B8 S11380400219A0E3F0FFFFEB0040A0E30400A0E16D S1138050014084E2F0FFFFEB020754E3FAFFFF1A4A S113806070009FE50219A0E3E7FFFFEB0040A0E3E7 S11380700400A0E1014084E2E7FFFFEB020754E3C0 S1138080FAFFFF1A48009FE50219A0E3DEFFFFEBA9 S11380900040A0E30400A0E1014084E2DEFFFFEB26 S11380A0020754E3FAFFFF1A28009FE50219A0E330 S11380B0D5FFFFEB0040A0E30400A0E1014084E20F S11380C0D5FFFFEB030654E3FAFFFF1ADAFFFFEADA S10F80D0100020202C0020202000202084 S90380007C It only supports S0, S3, and S7 records. You can certainly add more support. Using minicom you download by selecting ascii instead of xmodem or kermit or whatever. This just sends the file as is. If using some other terminal emulator you have to just figure it out. Or cut and paste it from an editor like the program above and paste it into your dumb terminal window. Minicom spawns other programs to do the downloads so there is or can be a dead period after downloading before minicom receives data so to deal with that once downloaded you press the letter g to go or run the program. This way you or at least I dont lose any characters from the downloaded program. The bootloader is loaded from flash to 0x20040000 to be well out of the way of ram based programs at 0x20000000. You can for example take notmain.srec from the blinker01 directory download it and run it using this bootloader.