Sophie Dexter
/
Just4Trionic
Just4Trionic - CAN and BDM FLASH programmer for Saab cars
bdmdriver.h@5:1775b4b13232, 2015-04-25 (annotated)
- Committer:
- Just4pLeisure
- Date:
- Sat Apr 25 17:07:08 2015 +0000
- Revision:
- 5:1775b4b13232
Version 1.5 Is a significant milestone.; ; Supports BDM and CAN read and write of T5.x, T7 and T8 ECU's plus T8 recovery.; A Target Resident Driver for BDM gives a big speed boost.; Supports many alternative replacement FLASH chips for T5.x ECU's;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Just4pLeisure | 5:1775b4b13232 | 1 | /******************************************************************************* |
Just4pLeisure | 5:1775b4b13232 | 2 | |
Just4pLeisure | 5:1775b4b13232 | 3 | bdmdriver.cpp |
Just4pLeisure | 5:1775b4b13232 | 4 | (c) 2014 by Sophie Dexter |
Just4pLeisure | 5:1775b4b13232 | 5 | |
Just4pLeisure | 5:1775b4b13232 | 6 | ******************************************************************************** |
Just4pLeisure | 5:1775b4b13232 | 7 | |
Just4pLeisure | 5:1775b4b13232 | 8 | WARNING: Use at your own risk, sadly this software comes with no guarantees. |
Just4pLeisure | 5:1775b4b13232 | 9 | This software is provided 'free' and in good faith, but the author does not |
Just4pLeisure | 5:1775b4b13232 | 10 | accept liability for any damage arising from its use. |
Just4pLeisure | 5:1775b4b13232 | 11 | |
Just4pLeisure | 5:1775b4b13232 | 12 | *******************************************************************************/ |
Just4pLeisure | 5:1775b4b13232 | 13 | |
Just4pLeisure | 5:1775b4b13232 | 14 | #ifndef __BDMDRIVER_H__ |
Just4pLeisure | 5:1775b4b13232 | 15 | #define __BDMDRIVER_H__ |
Just4pLeisure | 5:1775b4b13232 | 16 | |
Just4pLeisure | 5:1775b4b13232 | 17 | #include "mbed.h" |
Just4pLeisure | 5:1775b4b13232 | 18 | |
Just4pLeisure | 5:1775b4b13232 | 19 | #include "common.h" |
Just4pLeisure | 5:1775b4b13232 | 20 | #include "bdmcpu32.h" |
Just4pLeisure | 5:1775b4b13232 | 21 | |
Just4pLeisure | 5:1775b4b13232 | 22 | // public functions |
Just4pLeisure | 5:1775b4b13232 | 23 | bool bdmLoadMemory(uint8_t dataArray[], uint32_t loadAddress, uint32_t dataArraySize); |
Just4pLeisure | 5:1775b4b13232 | 24 | bool bdmRunDriver(uint32_t addr, uint32_t maxtime); |
Just4pLeisure | 5:1775b4b13232 | 25 | uint8_t bdmProcessSyscall(void); |
Just4pLeisure | 5:1775b4b13232 | 26 | |
Just4pLeisure | 5:1775b4b13232 | 27 | enum bdmSyscall { |
Just4pLeisure | 5:1775b4b13232 | 28 | QUIT = 0, |
Just4pLeisure | 5:1775b4b13232 | 29 | PUTS = 1, |
Just4pLeisure | 5:1775b4b13232 | 30 | PUTCHAR = 2, |
Just4pLeisure | 5:1775b4b13232 | 31 | GETS = 3, |
Just4pLeisure | 5:1775b4b13232 | 32 | GETCHAR = 4, |
Just4pLeisure | 5:1775b4b13232 | 33 | GETSTAT = 5, |
Just4pLeisure | 5:1775b4b13232 | 34 | FOPEN = 6, |
Just4pLeisure | 5:1775b4b13232 | 35 | FCLOSE = 7, |
Just4pLeisure | 5:1775b4b13232 | 36 | FREAD = 8, |
Just4pLeisure | 5:1775b4b13232 | 37 | FWRITE = 9, |
Just4pLeisure | 5:1775b4b13232 | 38 | FTELL = 10, |
Just4pLeisure | 5:1775b4b13232 | 39 | FSEEK = 11, |
Just4pLeisure | 5:1775b4b13232 | 40 | FGETS = 12, |
Just4pLeisure | 5:1775b4b13232 | 41 | FPUTS = 13, |
Just4pLeisure | 5:1775b4b13232 | 42 | EVAL = 14, |
Just4pLeisure | 5:1775b4b13232 | 43 | FREADSREC = 15 |
Just4pLeisure | 5:1775b4b13232 | 44 | }; |
Just4pLeisure | 5:1775b4b13232 | 45 | |
Just4pLeisure | 5:1775b4b13232 | 46 | enum bdmSyscallResult { |
Just4pLeisure | 5:1775b4b13232 | 47 | DONE, |
Just4pLeisure | 5:1775b4b13232 | 48 | CONTINUE, |
Just4pLeisure | 5:1775b4b13232 | 49 | ERROR |
Just4pLeisure | 5:1775b4b13232 | 50 | }; |
Just4pLeisure | 5:1775b4b13232 | 51 | |
Just4pLeisure | 5:1775b4b13232 | 52 | #endif // __BDMDRIVER_H__ |
Just4pLeisure | 5:1775b4b13232 | 53 | //----------------------------------------------------------------------------- |
Just4pLeisure | 5:1775b4b13232 | 54 | // EOF |
Just4pLeisure | 5:1775b4b13232 | 55 | //----------------------------------------------------------------------------- |