Sc12 ipc@chip

From Eth0Wiki

Jump to: navigation, search
Beckboard.jpg

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

Contents

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 HACKS

KingOfDos schematic:

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

Older variants are NOT functional. Will document stuff later...

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

ChipTool on WINE

Make serial port available within Wine:

ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com2

Tested:

  • Format_sc1x.hex
  • Beck SC12 v1.25 BIOS 'large' .hex
  • Sometimes the tool will detect the beck via ethernet (in Wine). Sometimes it won't... Unsure if that's a broadcast limit @ switch, or some WINE issue (didn't research it, so far).
  • Flashing works via Ethernet (worked once @ KingOfDos). If the Beck is detected.... And because of this issues I will recommand the use of a serial cable. What will happen if WINE/something stops working at the flashing point?

You'd need to connect the RXD, TXD and GND from a RS232/DB9, to pins of the RJ12 @ Beck. RTS/CTS not required when flashing.

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

Power Fail Circuit

If this is in the chip.ini (and only then!):

 [DEVICE]
 PFI_ENABLE=1

This will enable the PFI function. Which results in: "If you don't have a power fail circuit connected to the PFI pin, else the chip will not boot and the RTOS will not come up anymore, because the PIO9 pin, if unconnected, is normally high (input with pullup)."

Source: http://www.beck-ipc.com/files/api/scxxx/config.htm#DEVICE_PFI_ENABLE

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 het scriptbestand setenv.sh waarmee je in 1x alle Watcom en Beck omgevingsvariabelen instelt.

 #!/usr/bin/sh
 
 # WATCOM laten wijzen waar openwatcom is geinstalleerd
 export WATCOM=~/watcom
 export PATH=$WATCOM/binl:$PATH
 # BECKCLIB laten wijzen naar de aangepaste library (headers en libraries)
 export BECKCLIB=~/beck/clib
 # niet $WATCOM/lh kiezen dat zijn include files voor linux
 export INCLUDE=$WATCOM/h:$BECKCLIB
 export EDPATH=$WATCOM/eddat
 export WIPFC=$WATCOM/wipfc

Hieronder een voorbeeld hoe een C programma te compileren voor het beck-board:

 # voorbeeld compileren en linken C file
 wcc 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

Bron: Using the Watcom-compiler on the IPC@chip

Links

ST232C chip verkeerd om op het bord

Let op, er zijn 2 soorten van dit bord. 1 er van heeft de st232c chip verkeerd om zitten:

Beckboardfout.jpg Beckboardgoed.jpg

Hackerspace working on/with them

IRC

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