AVR based modchip for SMP8634 Code
Status: Beta
Brought to you by:
schneeleopard
File | Date | Author | Commit |
---|---|---|---|
compiled | 2008-07-08 | schneeleopard | [r2] Minor fixes and implementation of OSCCAL |
ChangeLog | 2008-07-08 | schneeleopard | [r3] Implemented ChangeLog |
Makefile | 2008-07-08 | schneeleopard | [r1] |
README | 2008-07-08 | schneeleopard | [r2] Minor fixes and implementation of OSCCAL |
resetcable.jpg | 2008-07-08 | schneeleopard | [r1] |
resetcable2.jpg | 2008-07-08 | schneeleopard | [r1] |
x30Xtmodchip.c | 2008-07-08 | schneeleopard | [r2] Minor fixes and implementation of OSCCAL |
x30Xtmodchip.h | 2008-07-08 | schneeleopard | [r2] Minor fixes and implementation of OSCCAL |
Requirements: - A X30XT box with IPTV Bootloader v1053, v1051 or V1039 - An Atmel ATMEGA MCU (ATMEGA8 preferred) - The means to flash this program into the MCU - Soldering station (Soldering iron will work too) (Watch out for ESD!) Howto: - Fit the MCU with an ISP header so you can flash it if you haven't already - Set the Fuse bits so it runs on internal RC Oscillator with 8MHz (Write only CKSEL2 on ATMEGA8) Make sure you don't select an external Oscillator or the MCU won't respond to your requests anymore - Flash the x30Xtmodchip.hex in the subdirectory corresponding to your MCU in the folder "compiled" to the MCU flash-ROM or build it yourself if you've got any other MCU than the ones included - Connect the preselected MCU pins to the JTAG header The default is: JTAG - MCU ------------ TDI -> PC0 TCK -> PC1 TMS -> PC2 TDO -> PC3 - Connect the reset source to the INT0 pin (You can get the reset signal on the Mini-PCI connector. See included pictures for the exact location) - Connect GND and Vcc to the MCU (Make sure you connect all GND and Vcc pins on the MCU and solder a 100nF capacitor between Vcc and GND near the MCUs pins.) You can get GND and Vcc on the JTAG header if you've got a 3.3V capable MCU. If you don't it might still work. If it doesn't you'll have to get 5V from somewhere, like the power supply connector on the mainboard. - (Optional) Fit a jumper between GND and PD6 and another one between GND and PD7 Bridging PD6 and GND will boot LX.BIN Bridging PD7 and GND will boot YM.BIN Bridging none of them to GND will disable the signature checks and boot NK.BIN - (Optional) connect a RS232 level converter to the RxD and TxD pins for serial debug output Settings are 38400bps 8N2 when correctly running at 8MHz When using the USART you should uncomment the line containing "OSCCAL = " in x30Xtmodchip.c and set it to the value for 8MHz read from the MCU using your ISP programming software. - (In case of transmission problems) If you've got transmission errors between MCU and JTAG-Port you can try to increase the JTAGCLKDELAY value in x30Xtmodchip.h. - (In case of patch not working) If you get a message that patching was successful but the system seems not to be behaving as expected or hangs you might try to change the PATCHWAITTIME value in x30Xmodchip.h slightly increasing or decresing it to see if it helps. - Three additional status LEDs can be connected via a resistor on port D. Green-LED -> PB3 Yellow-LED -> PB4 Red-LED -> PB5 Green Yellow Red 0 1 0 Reset detected 1 1 0 CPU-ID OK 1 1 1 CPU entered Debug Mode 1 0 0 Patch OK / CPU left Debug Mode 0 0 1 An error occurs