Home

Dolphin In-Circuit programming

image

Contents

1. APPLICATION NOTE 502 Green Smart Wireless enocean Dolphin In Circuit programming Updating Firmware in the field 1 Introduction In systems e g gateways where an external microcontroller is connected to a Dolphin based product like a TCM300 it might be desirable to be able to program the Dolphin Flash memory This for instance can be used to apply program updates providing the new FLASH image via a backbone to the host micro controller The host micro controller can than re program the Dolphin target FLASH memory EnOcean Gateway Kee Dolphin uC Target Backbone Figure 1 System overview This application note describes the programming hardware interface and the communica tion protocol between the host and target microcontroller Additionally it describes how to implement the programming functionality on a host using a Freescale 32bit ColdFire microcontroller MCF52233 Demo Board attached to a TCM300 evaluation board EVA300 as shown in Figure 2 Figure 2 Dolphin programming setup using ColdFire microcontroller EnOcean www enocean com Subject to modifications Product Marketing June 2011 Page 1 21 APPLICATION NOTE 502 Green Smart Wireless enocean This documentation and software project can be the basis for own developments and can also be used to develop programming adapters For easier readability and portability the host software was implemented without the
2. FIRMWARE IN THE FIELD Green Smart Wireless enocegar m If the code protect is set then an INF_ERROR ECode ERR_READONLY is replied m If the PageCnt is gt 127 an INF_ERROR ECode ERR_OUT_OF_MEMORY is replied In case of an error during FLASH program operation an INF_ERROR ECode ERR_WRITING_FAILED or ERR_ERASE_FAILED is replied 2 5 11 INF_OK The INF_OK response is replied by the target to acknowledge a successful received com mand or command execution In some combinations e g with RD_FLASH_BYTE command the Code parameter provides additional information e g read byte value to the host Command ByteO Bytei Byte2 CMD Byte4 Byte5 Byte6 Byte7 INF_OK OxA5 Ox5A OxA5 0x58 Code n d n d checksum Parameters Code Optional data 2 5 12 INF_ERROR The INF_ERROR response is send by the target to acknowledge errors The ECode parame ter provides further details about the error reason Command ByteO Bytei Byte2 CMD Byte4 bByte5 Byte6 Byte7 INF_ERROR OxA5 Ox5A OxA5 0x99 ECode n d n d checksum Parameters 0x00 ERR_OUT_OF_MEMORY 0x01 ERR_READONLY 0x02 ERR_CODEPROTECTION 0x03 ERR_BYTE_NOT_ERASED 0x04 ERR_CHECKSUM 0x05 ERR_BLANK_CHECK 0x06 ERR_WRITING_FAILED 0x07 ERR_ERASE_FAILED 0x08 ERR_UNKNOW_CMD ECode EnOcean www enocean com The address is out of memory area Information area is read only attempt to write Program area is read write protected attempt to The byte is not in
3. areas OXAOFF The FLASH memory can be programmed on a byte level Erasing its only possible on a page level erasing the whole 256 bytes at once The erased state of the FLASH is all bits set and an erased byte reads OxFF 1 4 1 Program and Data Area The FLASH from address 0x0000 to Ox7EFF is used for the program and data information The compiled hex file is placed into this memory area The EOPX post build tool always aligns the hex file to the 256 page boundary and adds as the last byte a CRC value This CRC value is used for the flash BIST built in self test APPLICATION NOTE 502 Green Smart Wireless enoceair DOLPHIN IN CIRCUIT PROGRAMMING UPDATING FIRMWARE IN THE FIELD For instance if the compiled program size is 256 byte after the alignment with EOPX post build it will consume 512 bytes 2 pages in the FLASH memory from 0x0000 Ox01FF The last byte of the downloaded code will be the CRC value at address Ox01FF used for the BIST The last page of the program and data area 0x7E00 to Ox7eFF is intended to be used as Log Area see 1 DolphinAPI user manual EO3000I_API chm 1 1 0 0 1 4 2 Information Area The information area contains chip specific data like e g the chip id and manufacturing trace information The memory page 128 at address OxA000 OxAOFF is used for this pur pose The information is collected during chip manufacturing and testing and is read only 1 4 3 Configuration Ar
4. busy in a range from 10us up to 60ms APPLICATION NOTE 502 Green Smart Wireless enocean CS Clock l Dat 32 bit 32 bit READY l TreadyD 3 TBusy Figure 10 READY signal 2 4 3 Timing Characteristics Parameter Symbol Min Max Unit Max SPI frequency f_SPI 2 MHz RESET active high time T_RESET 1000 us READY delay time T_READYD 30 us PROG_EN hold time T_PROGENH 500 us Target Busy time READY low T_BUSY 10 60000 us 2 5 Command triggered protocol The communication uses a command triggered approach Only the host triggers any com munications using commands The Dolphin executes the desired command and receives or transmits the required data and or acknowledge All commands are packed into 8 bytes requiring 2 32 bit SPI transfers CS Clock G S E HOST i i DOLPHIN es O azbie gt MISO Figure 11 communication protocol half duplex Note The host has to monitor the READY signal after every 32 bit SPI transfers also in between the two 32 bit transfers for a command APPLICATION NOTE 502 Green Smart Wireless enocean DOLPHIN IN CIRCUIT PROGRAMMING UPDATING FIRMWARE IN THE FIELD As already mentioned is the communication half duplex e g the host sends a command with the first data frame Dolphin sends idle 0x00 Than the host basically only provides the clock host sends idle 0x00 to request a response data frame 2 5 1 Co
5. erased state OxFF Command checksum incorrect Blank check failed Write operation failed Erase operation failed Command CMD unknown Subject to modifications Product Marketing June 2011 Page 17 21 APPLICATION NOTE 502 Green Smart Wireless enocean DOLPHIN IN CIRCUIT PROGRAMMING UPDATING FIRMWARE IN THE FIELD 2 5 13 WR_BLANK_CHK The WR_BLANK_CHK command allows to test if the program area and configuration area are erased blank The target replies either an INF_OK if blank or an INF_ERROR ECode ERR_BLANK_CHECK Command ByteO Bytei Byte2 CMD Byte4 bByte5 Byte6 Byte7 WR_BLANK_CHK OxA5 Ox5A OxA5 0x70 0x00 0x00 0x00 checksum MOSI DOLPHIN Cine ok MISO Figure 21 Command WR_BLANK_CHK erased state 2 5 14 WR_BIST The WR_BIST command executes the FLASH BIST Built In Self Test The result of the BIST is answered in the Code field of the INF_OK response m Code 0 BIST result ok Code 1 BIST result failed Command ByteO Bytei Byte2 CMD Byte4 Byte5 Byte6 Byte7 WR_BIST OxA5 Ox5A OxA5 0x71 0x00 0x00 0x00 checksum MOSI DOLPHIN 1nF_oK MISO Figure 22 Command WR_BIST NOTE For successful BIST the correct CRC value has to be stored at the last byte of the last page of the program and the number of program pages has to be written in the first byte of the CFG area also see 1 3 Hex to C source file converter EOMC exe 2 5 15 WR_PRG_XRAM The WR_PRG_XRAM co
6. hex file format http de wikipedia org wiki Intel_HEX The hex file consists of records which contain amongst others the address and the data located at this address Like this it is possible to code single bytes in a block of memory without defining the values of the bytes in between For the configuration area this method is used to only program modify specific bytes e g u8PrgSize without modifying others e g calibration values That s why the EOMC generates two arrays for the configuration area an u8CfgData 256 and an u8CfgMask 256 array The data lists the bytes to program and the mask defines if a byte needs to be programmed OxFF or not 0x00 for i 0 i1 lt 256 i if u8CfgMask i 0 tCfgArea raw bytes i u8CfgDatal i modify CFG area APPLICATION NOTE 502 EOMC usage Eomc exe fprg lt prgarea hex gt fcfg lt cfgarea hex gt fout profile 1 4 FLASH memory organization Green Smart Wireless enocean The Dolphin FLASH is organized in pages of 256 bytes size A total of 129 pages 32kByte 256byte of FLASH are available The total FLASH memory is split into 3 areas as indicated in Figure 4 m Program and Data Area m Information Area chip specific data m Configuration Area module specific data 0x0000 page 0 0x0100 page 1 Program amp Data Area 0x7E00 page 126 OxOOFF OxO1FF Ox7EFF Ox9F00 OX9FFF OxA000 Figure 4 FLASH
7. 2011 Page 5 21 APPLICATION NOTE 502 Green Smart Wireless enocean 1 4 4 Code Protection The program and data area can be protected against readout e g to inhibit reverse engi neering with the code protection When the code protection is set the program and data area can t be read with an external programmer The only way to reset the code protection is done by erasing the whole program and data area with the WR_PRG_AREA executes mass erase command The information area and the configuration area can be always read even if code protection is set The code protection is the second byte in the configuration area at address Ox9FO1 m Code protection set 0x00 No code protection set OxOFF To enable the code protection the WR_FLASH_BYTE command address 0x9F01 data 0x00 has to be used 2 Programmer 2 1 Hardware Interface The programming interface is based around a standard 4 wire SPI Serial Peripheral Inter face together with three additional control signals The host acts as SPI master controlling the SPI communication and providing the clock and the target Dolphin acts as SPI slave The 3 additional to the 4 SPI signals are m RESET signal to reset the target READY signal for synchronisation between host and target PMODE signal to enter programming boot loader mode Dolphin CS SCSEDIOO SCLKDIO1 WSDADIO2 RSDADIO3 a ADIO7 READY oe PROG_EN all RESET GND Figure 6 Progr
8. F_ERROR ECode ERR_READONLY is replied m If the address is out of the FLASH memory than an INF_ERROR ECode ERR_OUT_OF_MEMORY is replied 2 5 6 WR_FLASH_BYTE The WR_FLASH_BYTE command writes the data byte to the specified memory address The target sends an INF_OK response Command ByteO Bytei Byte2 CMD Byte4 Byte5 Byte6 Byte7 WR_FLASH_BYTE OxA5 Ox5A OxA5 Ox6C AddHi AddLo Data checksum MOSI DOLPHIN meok O MISO Figure 14 Command WR_FLASH_BYTE Parameters AddHi High Byte of the address to read AddLo Low Byte of the address to read Data Data byte to write Note In programming mode the CFG_AREA is mapped to other memory space as in program runtime Use the addresses 0x7FOO Ox7FFF m If the address is in the information area an INF_ERROR ECode ERR_READONLY is rep lied EnOcean www enocean com Subject to modifications Product Marketing June 2011 Page 13 21 APPLICATION NOTE 502 Green Smart Wireless enocean DOLPHIN IN CIRCUIT PROGRAMMING UPDATING FIRMWARE IN THE FIELD m If the address is in the program area and the code protection is set an INF_ERROR ECode ERR_CODEPROTECTION is replied m If the address is not erased 0xFF then INF_ERROR ECode ERR_BYTE_NOT_ERASED is replied m If the address is out of the FLASH memory than an INF_ERROR ECode ERR_OUT_OF_MEMORY is replied 2 5 7 RD_FLASH_PAGE The RD_FLASH_PAGE command reads a page 256 byte specified
9. N THE FIELD Parameters PageCnt Number of pages to read 1 127 Note m If the code protect is set then an INF_ERROR ECode ERR_CODEPROTECTION is replied m If the PageCnt is gt 127 an INF_ERROR ECode ERR_OUT_OF_MEMORY is replied 2 5 10 WR_PRG_AREA The WR_PRG_AREA command writes PageCnt 256 byte of data to the program area start ing at address 0x0000 It handles the following steps m mass erasing of the program area m erase of the configuration area m blank check of program and configuration area writing of the of data First the target responds with an acknowledge INF_OK Then the host sends the PageCnt 256 byte of data The target responds with an INF_OK Command ByteO Bytel Byte2 CMD Byte4 Byte5 Byte6 Byte7 WR_PRG_AREA OxA5 Ox5A OxA5 Ox6E PageCnt EraseOnly 0x00 checksum MOSI DOLPHIN INF Ok MISO abe Figure 19 Command WR_PRG_AREA Additionally it s possible to only erase without writing of data This is done by setting the EraseOnly byte to 0x01 In this case also no data is transferred MOSI DOLPHIN INF_ok MISO Figure 20 Command WR_PRG_AREA Erase Only Parameters PageCnt Number of the pages to write erase 1 127 0x00 mass erase and write of pages EraseOnly pag 0x01 mass erase Note EnOcean www enocean com Subject to modifications Product Marketing June 2011 Page 16 21 APPLICATION NOTE 502 DOLPHIN IN CIRCUIT PROGRAMMING UPDATING
10. ammer Interface Signals APPLICATION NOTE 502 Green Smart Wireless enocean 2 2 Programming Algorithm Flow Figure 7 depicts the programming flow for the Dolphin module First step is to establish the connection between the host and the target During connect the Dolphin module is reset and started into boot loader programming mode To verify the logical connection the RD_SW_VERSION command is executed If the command rece ives a valid answer the connection is established Next the information area optional and the configuration area are read The configuration area is then selectively modified using the u8CfgData and u8CfgMask arrays also see 1 3 Hex to C source file converter EOMC exe Connect Read INF Area i Read CFG Area i Mass Erase Write PRG Area y Write CFG Area i Execute BIST i Verify y CodeProtection yes y Set CodeProtection no e Disconnect Figure 7 Programming flow APPLICATION NOTE 502 Green Smart Wireless enocean Then the whole Flash is erased and the program data using the u8PrgData array is writ ten Both steps are done with the WR_PRG_AREA command Afterwards the modified configuration area is written using the WR_FLASH_PAGE and WR_FLASH_BYTE for the first 2 bytes commands Then the proper execution of the BIST built in self test is verified To verify correct programming a byte by b
11. by the Pageldx of FLASH memory The target first sends an acknowledge INF_OK before it send the 256 bytes of FLASH content Command ByteO Byte1l Byte2 CMD Byte4 Byte5 Byte6 Byte7 RD_FLASH_PAGE OxA5 Ox5A OxA5 0x69 Pageldx 0x00 0x00 checksum a DOLPHIN MISO Figure 15 Command RD_FLASH_PAGE Parameters Pageldx Index of the page to read 0 128 Note m If the page is in the program area and the code protection is set then an INF_ERROR ECode ERR_READONLY is replied m If the Pageldx is out of the range an INF_ERROR ECode ERR_OUT_OF_MEMORY is rep lied 2 5 8 WR_FLASH_PAGE The WR_FLASH_PAGE command writes one page 256 byte to the specified page of FLASH memory It handles the following steps erasing of the page m blank check of the page m writing of the 256 bytes of data First the target responds with an acknowledge INF_OK Then the host sends the 256 bytes of data The target response with an INF_OK Command ByteO Byte1 Byte2 CMD Byte4 Byte5 Byte6 Byte7 WR_FLASH_PAGE OxA5 Ox5A OxA5 Ox6A Pageldx EraseOnly 0x00 checksum EnOcean www enocean com Subject to modifications Product Marketing June 2011 Page 14 21 APPLICATION NOTE 502 Green Smart Wireless enocean DOLPHIN IN CIRCUIT PROGRAMMING UPDATING FIRMWARE IN THE FIELD MOSI DOLPHIN inr_ok inr_ok MISO Figure 16 Command WR_FLASH_PAGE Additionally it s possible to only erase the page withou
12. cothcntes seus eetianta tabi cahegets iota iat lumen atau naleou mate ctas 6 2 1 Hardware Interface ista avant rtd nr 6 2 2 Programming Algorithm FlOW oooocccccnccccncncnnnncnnnncnnnnrnnnnrnnnnrnnanrnnnnrrrnnrnrannnnanes 7 2 3 MOde SClCCUON aria rtc orina creia 8 2 3 1 RESET SIGMA sis ansiece tense nuns wien rd ovis Ea EI ANA 8 2 3 2 PMODE signal PROGEN cccececeee eee e aa eee eee eats eae e eats eats eats KENNEN 8 2 4 COMMUNICATION protocol siii a Oem eters 9 2 4 1 SPL PROTOCOL vincia ii abi 9 2 4 2 READY Sl A A A Ae 9 2 4 3 Timing Characteristics vu a a 10 2 5 Command triggered protocol ocoooccocnccnnnnconnncnnnncnnnnnnnnnnennnnnnnnnnrnnrnrnnrnrnnaninnnn 10 2 5 1 COMMONS Ri 11 2 5 2 CHECKSUM assi lr dira ooo da 12 2 5 3 RD SW VERSION evs dint ceniiactd dc oa da EA AS rc 12 2 5 4 INF SW VERSI N isis tacita weiner 12 2 5 5 RD FLASH BYTE tura Aa EEEa 12 2 5 6 WR FLASH BYT Esos a a ENANA A EASA NA 13 2 5 7 RD FLASH PAGE unicornio ta nc Ra A ARES 14 2 5 8 WR FLASH PAGE sitcom dpi ic abun 14 2 5 9 RD PRG AREA ia A A nance 15 2 52 10 WR PRG AREA inca ados 16 2 511 INF O Kin A AR 17 APPLICATION NOTE 502 Green Smart Wireless enocean 235 12 INF ERROR oca ive Eb riS ir rE DTE EDIAN 17 25 13 WR BIANK CHK ovina 18 2514 WR BIS Taire aE aE E ds ra 18 2 5 15 WR PRG XRAM cceccccceeeee eens eee AAAA RE rr rr rr AAI ESSE SEE MARES 18 3 Table of CON siria aa a e a Aa E a aE E Ea 20
13. ea The configuration area contains module specific data like calibration values The FLASH memory page 127 at address 0x9FOO Ox9FFF is used for this purpose DxC_ OxD_ OxE OxF_ wis UBAppDEscription 16 uBBaselD 44 u32 ConformiD uBCigWer xis uBModulType uBRadioSettingWersion 3 UBDMC MBDMC 12 uBReserved2 10 uBReservedAPP 128 Figure 5 Configuration Area CFG_AREA The information in this page is collected partly during module manufacturing and testing first 128 bytes and can also be used for customer specific information second 128 bytes The page is read write and can always be read even if the code protection is set Due to the fact that the whole page has to be erased to modify a single byte special care has to be taken to avoid loosing the module specific data This area also contains the program size information at address Ox9F00 which typically needs modification after a reprogramming Note The first 4 bytes from address 0x9F00 0x9F03 require special handling Erasing of those bytes is only possible by executing the WR_PRG_AREA executes mass erase command Programming is only possible using the WR_FLASH_BYTE command In programming mode the CFG_AREA is mapped to other memory space as in program runtime If you access CFG_AREA in programming mode using WR_FLASH_BYTE RD_FLASH_BYTE use the addresses 0x7FOO Ox7FFF EnOcean www enocean com Subject to modifications Product Marketing June
14. ed and entered into the configuration area hex file and the CRC for the BIST built in self test is calculated and entered in to the program area hex file Both hex files together contain the complete data to program the Dolphin Flash memory In this application note those two files are converted see next chapter into c language source files which are then statically compiled and linked into the host microcontroller ap plication Like this it is easy to demonstrate the principle of the programming without add ing further complexity of handling of the files e g over a TCP IP backbone This handling will strongly depend on the application requirements and therefore will be system specific APPLICATION NOTE 502 Green Smart Wireless enocean DolphinStudio EOMC Converter Keil Compiler ProgData CR Keil Linker i EOPX H PostBuild Compiler Linker Host e g CodeWarrior Controlled from Keil IDE Target FOE we Dolphin uC Software Development Flow Target Software Development Flow Host Figure 3 System interactions 1 3 Hex to C source file converter EOMC exe The EOMC command line tool converts the two hex files generated by Keil EOPX post build into a c language source code file The program area hex file is simply converted in an array of bytes u8PrgData For the configuration area the process is a little more com plex The input file format used is Intel HEX also see 5 Intel
15. f the READY signal depends on the software ADIO7 APPLICATION NOTE 502 Green Smart Wireless enocean User mode TprogenH Figure 8 Mode selection 2 4 Communication protocol The boot loader communication protocol is based on 32 bit SPI transfers in combination with a synchronization mechanism using the READY signal 2 4 1 SPI protocol The underlying SPI protocol uses a low active chip select CS With each SPI transfer CS low pulse 4 bytes of data 32 bits are transferred Each byte is transferred with the most significant bit MSB B7 first The SPI clock signal is low when inactive With the lead ing edge rising edge of the clock signal the data bits are sampled With the following edge falling edge of the clock the data bits have to be applied Sl O E E O e NI a 87 56 65 54 53 82 B1 60 127 86 55 54 63 84 6382 51 80 MISO Figure 9 SPI Transfer The whole communication is only using half duplex transfers meaning that data is ex changed either only from host to target or vice versa The listening communication node sends idle data 0x00 2 4 2 READY signal The READY signal is used by the target to signal when it is ready to receive data If the READY signal is low the target is busy and it s not allowed to send data After every SPI transfer there is a certain delay before the READY signal is set low De pending on the commands the READY signal might be low
16. lection Command ByteO Bytei Byte2 CMD Byte4 Byte5 Byte6 Byte7 RD_SW_VERSION OxA5 Ox5A OxA5 0x4B 0x00 0x00 0x00 checksum MOSI DOLPHIN INF_SW_VERSION MISO Figure 12 Command RD_SW_VERSION 2 5 4 INF_SW_VERSION The INF_SW_VERSION sends the boot loader software version to the host Command ByteO Bytei Byte2 CMD bByte4 Byte5 Byte6 Byte7 INF_SW_VERSION OxA5 Ox5A OxA5 0x8C swi SW2 SW3 checksum Parameters SW1 Main version number SW2 Beta version number SW3 Alpha version number 2 5 5 RD_FLASH_BYTE The RD_FLASH_BYTE command reads one byte of FLASH specified by the AddHi AddLo parameters The target acknowledges with an INF_OK containing the requested data in the Code field Command ByteO Bytei Byte2 CMD Byte4 Byte5 Byte6 Byte7 RD_FLASH_BYTE OxA5 Ox5A OxA5 Ox6B AddHi AddLo 0x00 checksum EnOcean www enocean com Subject to modifications Product Marketing June 2011 Page 12 21 APPLICATION NOTE 502 Green Smart Wireless enocean DOLPHIN IN CIRCUIT PROGRAMMING UPDATING FIRMWARE IN THE FIELD MOSI DOLPHIN _INF_OK Data MISO Figure 13 Command RD_FLASH_BYTE Parameters AddHi High Byte of the address to read AddLo Low Byte of the address to read Note In programming mode the CFG_AREA is mapped to other memory space as in program runtime Use the addresses 0x7FOO Ox7FFF m If the address is in the program area and the code protect is set then an IN
17. mmand loads a program of PageCnt 256 bytes at address 0x0000 into the XRAM and executes it This feature is mainly used for production testing The target first replies either with an INF_OK If INF_OK was received the host can send the program data EnOcean www enocean com Subject to modifications Product Marketing June 2011 Page 18 21 APPLICATION NOTE 502 Green Smart Wireless enocean Command ByteO O Byte2 Ol Byte4 Byte5 Byte6 Byte7 WR_PRG_XRAM OxA5 Ox5A OxA5 Ox6F PageCnt 0x00 0x00 checksum MOSI DOLPHIN INF_OK MISO Figure 23 Command WR_PRG_XRAM Parameters PageCnt Number of pages to load 0x01 0x08 Note This command is only executed if the code protection is not set m If the code protect is set then an INF_ERROR ECode ERR_READONLY is replied If the PageCnt is gt 4 an INF_ERROR ECode ERR_OUT_OF_MEMORY is replied APPLICATION NOTE 502 Green Smart Wireless enocean 3 Table of content L INTFOUCHON escrocicsiccc rr da dd A AA 1 1 1 RererencO Sinn cian oia ito c aro E 2 1 2 SY SEEM OVERVICW start oro as 2 1 3 Hex to C source file converter EOMC eXxe ooooccococcnconnnconnncnnnncanancnnnnrrnnnnanannananes 3 1 4 FLASH memory Org aNiZatlON A DoS 4 1 4 1 Program and Data Area ai iaiscncsineriasrndemner aen n a E E a E 4 1 4 2 O 5 1 4 3 Configuration Ali a aa agate 5 1 4 4 Code PROTECT A tiwent sas E NEEN A 6 2 Programmer coeso e tate dupa
18. mmands The commands are embedded in a header of three fixed byte the actual command identifi er byte three byte of optional additional parameters and a checksum byte resulting in a total length of 8 byte Note n d means bytes are not defined an can have any values The following features are provided Read boot loader software version m Read FLASH 1 byte 1 page program area Write FLASH 1 byte 1 page program area Erase FLASH 1 page Mass erase gt see Write FLASH commands Blank test verify that erased BIST verify BIST setting Write to XRAM and execute for testing Command p w w z Byte4 Byte5 pres Byte7 E INF INF_SW_VERSION _VERSION TEMER EA ETA RD_ ET BYTE WR_ rn BYTE RD_ A _PAGE WR_ a _PAGE RD_ rra _AREA OxA5 Ox5A OxA5 checksum Eau icon ra E uns WR_ A XRAM Table 1 Command list EnOcean www enocean com Subject to modifications Product Marketing June 2011 Page 11 21 APPLICATION NOTE 502 Green Smart Wireless enocean DOLPHIN IN CIRCUIT PROGRAMMING UPDATING FIRMWARE IN THE FIELD 2 5 2 Checksum The checksum is the sum modulo 256 over the Byte2 to Byte6 e g uint8 u8checksum mora o ao abt u8checksum u8Byte i 2 5 3 RD_SW_VERSION The RD_SW_VERSION command is used to retrieve the boot loader software version The target responds with the INF_SW_VERSION This command is used after entering boot loader mode to ensure proper mode se
19. t writing of data This is done by set ting the EraseOnly parameter to 0x01 In this case also no data is transferred MOSI DOLPHIN INF_ok MISO Figure 17 Command WR_FLASH_PAGE Erase Only Parameters Pageldx Index of the page to write erase 0 127 0x00 erase and write page EraseOnly 0x01 erase page Note m the first four bytes in the configuration area can not be programmed or erased with this command remain unchanged m If the code protection is set then an INF_ERROR ECode ERR_READONLY is replied If the Pageldx 128 information area is used an INF_ERROR ECode ERR_READONLY is replied m If the Pageldx is gt 128 an INF_ERROR ECode ERR_OUT_OF_MEMORY is replied In case of an error during FLASH program operation an INF_ERROR ECode ERR_WRITING_FAILED or ERR_ERASE_FAILED is replied 2 5 9 RD_PRG_AREA Reads the program area starting from address 0x0000 up to the specified number of pages The target first sends an acknowledge INF_OK before it sends the PageCnt 256 byte of FLASH content Command ByteO Byteil Byte2 CMD Byte4 Byte5 Byte6 Byte7 RD_PRG_AREA OxA5 Ox5A OxA5 Ox6D PageCnt 0x00 0x00 checksum MOSI DOLPHIN O Se erat MISO Figure 18 RD_PRG_AREA EnOcean www enocean com Subject to modifications Product Marketing June 2011 Page 15 21 APPLICATION NOTE 502 Green Smart Wireless enocean DOLPHIN IN CIRCUIT PROGRAMMING UPDATING FIRMWARE I
20. use of an operating system The focus was put on demonstrating the basic functionality rather than demonstrating a real e g gateway application 1 1 References Further details can be found in the following documentation 1 DolphinAPI user manual EO30001_API chm 1 1 0 0 2 DolphinStudio manual containing EOPX documentation DolphinStudio chm 3 Schematics EVA300 3 4 ColdFire M52233 demo Evaluation board schematics 5 Intel hex file format http de wikipedia org wiki Intel_HEX Useful web sites 6 EnOcean website http www enocean com 7 Wikipedia website http www wikipedia org 8 Freescale website http www freescale com 1 2 System overview Figure 3 shows the interactions of the various components and files used in the develop ment flow of the Dolphin module on one side and the flow on the host microcontroller on the other Due to the implementation on the Dolphin also see Hex to C source file converter EOMC exe there are two hex files generated by the EOPX eopx exe post build tool There is the hex file containing the data which is located in the program area and there is a second hex file containing the data which is located in the configuration area of the Dol phin s Flash memory The EOPX post build tool performs all the required modifications and extraction necessary to generate those two hex files based on the hex file generated by the linker E g is the program size u8PrgSize calculat
21. yte comparison of the configuration area and the program area is performed Note The intention of the CRC is to verify FLASH integrity over the life time in system The on ly 8 bit CRC should not be used to ensure that the programming was correctly executed Finally after verifying correct programming the code protection optional can be set if de sired During disconnect the Dolphin module is reset into user mode and the programming signals are turned to inputs high impedance state Note The error handling used in this implementation only executes a step if no error has oc curred previously Exception is the Disconnect which is always executed For further details please see source code 2 3 Mode selection 2 361 RESET signal The RESET signal allows the host to reset the Dolphin In combination with the PMODE sig nal it s possible to enter either boot loader mode programming or user mode application code running Note The RESET signal is active high 2 3 2 PMODE signal PROGEN With the falling edge of the RESET the Dolphin and starts to execute code in the ROM at address 0x0000 The first instructions poll the state of the PROGEN pin to decide if the boot loader code ROM is executed or the user application code FLASH is started In case of the boot loader mode the READY signal is used to indicate that the target is ready to receive SPI transfers commands In case of the application code the state o

Download Pdf Manuals

image

Related Search

Related Contents

こちらからダウンロードください。  eLux - embedded Linux - Harlander.com  Melissa Steel Series 253-006 User's Manual  EXSYS EX-1181    Developer`s Kit XC167CI  Microdata User's Guide - Microdata Analysis and Subsetting with SDA    Dataram 16GB(2 x 8GB) DDR3  NEC AS172-BK Mechanical Drawings  

Copyright © All rights reserved.
Failed to retrieve file