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