Menu

Tree [r3] /
 History

HTTPS access


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

Read Me

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

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.