Personal tools

Sc12 ipc@chip

From Eth0Wiki

Jump to: navigation, search

This is a page about the boards SA007 brought to eth0:winter 2k12.

Specs

OUI vs Serial#

  • OUI 00:30:56 'Beck IPC GmbH'
  • MacAddr format: 00:30:56:fx:xx:xx, the xxx is (24 bit) serial number, written as 5 characters (hex).

Example:

A:\>ver
...cut...
Target=SC12 Serialnumber=xxxxx
...cut...
A:\>
Interrupt 0xA0 service 0x00: Get serial number.
http://isa.umh.es/temas/micros/doc/sc12/doc/biosints.htm#0xA00x00
Interrupt 0xA0 service 0x17: Get MAC address of the Ethernet interface
http://isa.umh.es/temas/micros/doc/sc12/doc/biosints.htm#Interrupt_0xA0_function_0x17__Get_MAC_address_of_the_Ethernet_interface

Memory map says: 0400h - 04FFh for MAC Address. Possible to change MAC addr (plz check later)? I guess that 'on boot, the default mac == serial'. And that we could configure it via program at boot?

Chip.ini

[IP]
NETMASK=255.255.255.0
ADDRESS=10.10.1.61
DHCP=1
[TELNET]
USER0=tel
PASSWORD0=IPC-03
[FTP]
USER0=ftp
PASSWORD0=IPC-03
[STDIO]
STDIN=TELNET
STDOUT=TELNET

More? See http://isa.umh.es/temas/micros/doc/sc12/doc/config.htm

Pinout / Board desc

Top view

IPCboard-top.png

  1. (J5) +5v
  2. (J5) GND
  3. (J5) NC (not connected)
  4. (J5) NC
  5. (J5) NC
  6. (J5) NC
  7. (J5) Input optocoupler U1
  8. (J5) Input optocoupler U2
  9. (J4) NC
  10. (J4) NC
  11. (J4) NC
  12. (J4) NC
  13. (J4) NC
  14. (J4) NC
  15. (J4) NC
  16. (J4) NC
  17. (J7) Output optocoupler U2
  18. (J7) Output optocoupler U2
  19. (J2) rs422 -> max488 pin 5 (Y) --> Wire colors removed! They differ at boards. pin/wire layout won't (as far I can tell).
  20. (J2) rs422 -> max488 pin 6 (Z)
  21. (J2) rs422 -> max488 pin 7 (B)
  22. (J2) rs422 -> max488 pin 8 (A)
  23. (J6) Output optocoupler U1
  24. (J6) Output optocoupler U1

Top view CUSTOM HACKS

  1. (J5) +5v
  2. (J5) GND
  3. (J5) NC (not connected) <---- use for POE PLUS, connect to RJ45 at board? schematic/idea for 802.2af OR 7805 switch later. ask KingOfDos
  4. (J5) NC <-------------------- use for POE GND, connect to RJ45 at board.
  5. (J5) NC <-------------------- Solder this to the SC12 pin 31, I2CCLK?
  6. (J5) NC <-------------------- Solder this to the SC12 pin 30, I2CDAT?
  7. (J5) Input optocoupler U1
  8. (J5) Input optocoupler U2
  9. (J4) NC <------------------- I/O Beck AD0 pin 8 --> Note: This pins are not connected on default. Please use
  10. (J4) NC <------------------- I/O Beck AD1 pin 9 ::: 80-wire IDE cable (thick enough for that less mA max!).
  11. (J4) NC <------------------- I/O Beck AD2 pin 10
  12. (J4) NC <------------------- I/O Beck AD3 pin 11
  13. (J4) NC <------------------- I/O Beck AD4 pin 12
  14. (J4) NC <------------------- I/O Beck AD5 pin 13
  15. (J4) NC <------------------- I/O Beck AD6 pin 14
  16. (J4) NC <------------------- I/O Beck AD7 pin 15
  17. (J7) Output optocoupler U2
  18. (J7) Output optocoupler U2
  19. (J2) rs422 -> max488 pin 5 (Y)
  20. (J2) rs422 -> max488 pin 6 (Z)
  21. (J2) rs422 -> max488 pin 7 (B)
  22. (J2) rs422 -> max488 pin 8 (A)
  23. (J6) Output optocoupler U1
  24. (J6) Output optocoupler U1
  25. (J4) FLYING <-------------- Make J4 a 2x8 header. To support more pins at the SC12. Schematic later!!!
  26. (J4) FLYING
  27. (J4) FLYING
  28. (J4) FLYING
  29. (J4) FLYING
  30. (J4) FLYING
  31. (J4) FLYING
  32. (J4) FLYING

Above hacks, as image (for now, as link. so we won't fill the entire page):

http://kingofdos.com/zooi/beck_sc12/beckboard-custom-kod-v3.png

Bottom view

Note:

  • Pin17 @ SC12 = Link Led (connected to red led)

De laatste BIOS versie 1.25 Flashen

Dit moet op een Windows station gebeuren (eventueel eentje in een VM).

  • Download Beck Chiptool
  • Download SC12 Bios V1.25
  • Pak het Bios bestand ergens uit
  • start Chiptool
  • Flash->Program flash
  • Kies een van de versies in de directory van het uitgepakge BIOS bestand, bv. SC12V0125_LARGE.hex
  • Vul het IP-adres van het beck-board in en klik 'Start' bij 'Use UDP/IP' en wacht geduldig tot het programmeren is voltooid.

Het user/password voor telnet is nu tel/tel en bij ftp ftp/ftp.
Het periodieke reset probleem is dan ook vanzelf opgelost.
Het tcp2con programma is dan wel verdwenen... maar wat doet dat programma sowieso in hemelsnaam

Ramdisk aanmaken voor ontwikkeling

Hiermee beperk je het aantal flashes op de beck-chip.

Creeer op A: een bestand CHIP.INI met inhoud

 [RAMDRIVE]
 SIZE=64

Hiermee krijg je een ramdisk van 64k. De driveletter is C:

How to avoid periodic resets

  • Disable tcp2con.exe in autoexec.bat

It looks like tcp2con.exe performs a device reset after 120 sec.

Note: Please remove this, before flashing new firmware to device! Maybe this reboot will kill a flash over ethernet? As long the bootloader works, you can flash it over serial again. But still, it's quite risky.

CGI HTTP

Default tools available:

Debugging

Hardware

"If it fails, the @CHIP prints the error message "RAM ERROR" on the COM port (using 19200 Baud and 8N1, regardless the entry in the CHIP.INI)."

Source: http://isa.umh.es/temas/micros/doc/sc12/doc/bootfc.htm

Software

Use TRACE.EXE (seen in manual, link page here!) or maybe use the remote SYSLOG daemon ( http://www.lourensrozema.nl/ax/download/syslog_src.zip is ASM! untested..)

Compilers

8086 or 80186. not i286 or i386!
Large Memory Mode (SC12 has dual extended memory, or something)

OpenWatCom

Error: while installing the linux binary package

[1]    20858 floating point exception  ./open-watcom-c-linux-1.9

Solution (by The_Niz, via http://www.openwatcom.org/index.php/Installing_Open_Watcom_on_Linux )

export TERMINFO=/lib/terminfo
./open-watcom-c-linux-1.9

Een aangepaste clib.tar.gz is beschikbaar (voornamelijk alle .h filenamen en verwijzingen ernaar lowercase gemaakt).
Op basis van de oorspronkelijke beck rtos c library.
Hieronder een voorbeeld hoe een C programma te compileren voor het beck-board:

 # WATCOM laten wijzen waar openwatcom is geinstalleerd
 export WATCOM=~/watcom/
 # watcom omgeving instellen
 . $WATCOM/owsetenv.sh
 # BECKCLIB laten wijzen naar aangepaste library (headers en libraries)
 export BECKCLIB=~/beck/clib
 # voorbeeld compileren en linken C file
 wcc -I$BECKCLIB tcpserv.c
 wlink format dos libpath $WATCOM/lib286/dos:$WATCOM/lib286:$BECKCLIB name tcpserv.exe file tcpserv.o library clib222s.lib

hierna kun je de .exe file ftp'en naar het beck board, niet vergeten binary mode aan te zetten! Bij het ontwikkelen kun je het beste een ramdisk gebruiken om de flash te sparen

In het bovenstaande verhaal ontbreken de juiste compiler options:

wcc -w4 -s -zp1 -d0 -fpi -zu -1 -ml

Warning level 4, Disable Depth Checking, 1 byte allignment, No debugging, Floating Point: inline with emulator, SS!=DS, 80186, Large Memory Model

Links

Hackerspace working on/with them

IRC

  • network: oftc (irc.oftc.net)
  • chan: #SC12