notes 546 B

12345678910111213
  1. fbl exits when receives a bit9 on, or after 4 secs
  2. jumps to 4 bytes before bld boundary.
  3. it knows its boundary and app start point (normally 0, 0x800 for 18f usb) ;
  4. then it can deal itself with vectors reallocation.
  5. full hex decode in fruit
  6. to start "Fruit" bootloader : send "!FFruit" to pied
  7. -pied stops polling devices and sending data
  8. -verifies name ("VFruit" -> answers "V") or get "rename" command ("RENAME:Apple" and "PREFIX:")
  9. -get hex line - verifiy address validity /fix vectors
  10. -erase / write
  11. -add the goto read from app start point