Sc12 ipc@chip
From Eth0Wiki
This is a page about the boards SA007 brought to eth0:winter 2k12.
Contents
Specs
- Beck IPC@Chip SC12
- AMD 80186 @ 20Mhz
- 512kb ram
- 512kb flash
- 10mbit ethernet
- rs232+rs422 (via max488)
- File:SCHEMA.pdf
- File:Startup.pdf
- File:Controller datasheet.pdf
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
- (J5) +5v
- (J5) GND
- (J5) NC (not connected)
- (J5) NC
- (J5) NC
- (J5) NC
- (J5) Input optocoupler U1
- (J5) Input optocoupler U2
- (J4) NC
- (J4) NC
- (J4) NC
- (J4) NC
- (J4) NC
- (J4) NC
- (J4) NC
- (J4) NC
- (J7) Output optocoupler U2
- (J7) Output optocoupler U2
- (J2) rs422 -> max488 pin 5 (Y) --> Wire colors removed! They differ at boards. pin/wire layout won't (as far I can tell).
- (J2) rs422 -> max488 pin 6 (Z)
- (J2) rs422 -> max488 pin 7 (B)
- (J2) rs422 -> max488 pin 8 (A)
- (J6) Output optocoupler U1
- (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:
- http://1.2.3.4/ChipCfg
- http://1.2.3.4/TCP2COM (reverse engineer, or write our own software)
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 een voorbeeld hoe een C programma te compileren voor het beck-board:
# WATCOM laten wijzen waar openwatcom is geinstalleerd export WATCOM=~/watcom/ export PATH=$PATH:$WATCOM/binl # 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
- http://isa.umh.es/temas/micros/doc/sc12/SC12V110_ReleaseNotes.pdf
- http://www.beck-ipc.com/files/api/scxxx/program.htm
- http://www.beck-ipc.com/en/download/index.asp <- choose SC12 in <select>box (at the 2nd block, @ bottom).
- http://www.beck-ipc.com/en/products/sc1x/sc13.asp Bios upgrade
- http://wunderkis.de/scbrd/index.html
- http://isa.umh.es/temas/micros/soft/sc12/
- http://isa.umh.es/temas/micros/doc/sc12/
- http://xforce.iss.net/xforce/xfdb/8922 <- IPC@CHIP Web server root directory is set to the system root, aka, access all the files!
- http://www.openwatcom.org/index.php/Main_Page <- compiler for 16bit dos apps, that runs on linux
- http://www.weerschip.nl/download_beck.html <- weather station, with software examples (1 zip checked with 'grep -i beck *')
- http://www.lourensrozema.nl/ax/index.php?page=home.inc <- mp3 player + ide disk, incl some .zip files (schematics, sources incl remote syslog)
- http://www.psh-mikro.sk/beck/Beck_mod_de.htm <- CompactFlash something (schematic + demo program)
- ftp://212.71.131.133/pub/beck/software/
- http://www.zengers.net/index.php?option=content&task=view&id=12&Itemid=2 <- 3 pages uit Elektuur, Nederlandse manual (misschien uploaden op eth0 wiki?)
- https://wiki.bitlair.nl/Pages/Bestand:010036-11.zip de files van elektuur
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:
Hackerspace working on/with them
- http://www.tkkrlab.nl/wiki/Beck_board_ipc_2001
- http://nurdspace.nl/IPC@Chip_boards
- https://wiki.bitlair.nl/Pages/Projects/SA12_IPC@CHIP
IRC
- network: oftc (irc.oftc.net)
- chan: #SC12