Aan de slag met Beck-board
From
Contents
- 1 Board controleren op onjuistheden
- 2 Board aansluiten
- 3 Voorgeinstalleerd programma niet meer automatisch starten
- 4 De laatste BIOS versie 1.25 Flashen
- 5 Ramdisk aanmaken voor ontwikkeling
- 6 Openwatcom DOS development software installeren
- 7 send2beck.sh: Handig script om files te uploaden van de PC naar de ramdisk van het beck-board
- 8 C programma compileren en linken
Board controleren op onjuistheden
Bij veel boards is de RS232 chip ST232C verkeerd om gesoldeerd. Als het IC verkeerd om is gesoldeerd is het aan te raden hem eraf te solderen en desgewenst een nieuw MAX232 compatibel IC te solderen.
Hieronder de goede en de foute situatie
Board aansluiten
J5 pin 1 +5V J5 pin 2 GND
Verbind eerst een UTP kabel met het board en je router voor je de voeding aansluit.
Vervolgens bij de router de DHCP client lijst raadplegen, om te zien wie welke DHCP clients er al aanwezig zijn.
Sluit de voeding aan en vernieuw de DHCP clients pagina om te zien welk IP adres is toegekend aan het Beck-board.
Maak vervolgens een telnet verbinding met het Beck-board (Hier is door de router IP adres 192.168.100.226 toegekend)
$ telnet 192.168.100.226 Trying 192.168.100.226... Connected to 192.168.100.226. Escape character is '^]'. SC12 Telnet session Username: tel
Bij niet geflashte boards is bij telnet de username 'tel' en het wachtwoord 'IPC-03'
FTP: username 'ftp', wachtwoord 'IPC-03'
Voorgeinstalleerd programma niet meer automatisch starten
Bij de aangeleverde boards wordt er automatisch een programma gestart, dat het systeem na 15 seconden doet herstarten.
Om ervoor te zorgen dat dit programma niet meer wordt gestart typ: del autoexec.bat
Username: tel Password: ****** User logged in (enter) A:\>del autoexec.bat
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.
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.
Maak op de PC een bestand CHIP.INI aan met onderstaande inhoud en kopieer het d.m.v. ftp naar het beck-board
[RAMDRIVE] SIZE=64
Herstart in een telnet sessie het board met het reboot commando. Nu is er een ramdisk van 64k. De driveletter is C:
Openwatcom DOS development software installeren
Download Openwatcom DOS development software (o.a. C Compiler, 80x86 assembler en linker): http://ftp.heanet.ie/pub/openwatcom/open-watcom-c-linux-1.9
Ga naar de directory waar de file is gedownload en typ
chmod +x open-watcom-c-linux-1.9 export TERMINFO=/lib/terminfo ./open-watcom-c-linux-1.9
In de installer moet je aan geven waar de installatie komt te staan, bijv. ~/watcom
Kies voor de volledige installatie.
Download clib.tar.gz en pak hem uit in bv. ~/beck.
Maak een scriptbestand setenv.sh aan 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
Dit script als volgt uitvoeren voordat je met de Watcom developer tools gaat werken
. setenv.sh
send2beck.sh: Handig script om files te uploaden van de PC naar de ramdisk van het beck-board
Verander de HOST variabele in het IP-adres van je beck-board
#!/bin/sh # IP-adres van het beck-board HOST='192.168.1.102' # gebruiker en wachtwoord bij FTP. Beide zijn 'ftp' na het flashen van BIOS 1.25 USER='ftp' PASSWD='ftp' ftp -n $HOST <<END_SCRIPT quote USER $USER quote PASS $PASSWD bin cd c: put $1 quit END_SCRIPT exit 0
Voorbeeld waarbij hello.exe in de huidige directory staat:
send2beck hello.exe
C programma compileren en linken
Als voorbeeld nemen we het welbekende 'Hello, World!' C programma
#include <stdio.h> int main(int argc, char *argv[]) { printf("Hello, Beck!\n"); return 0; }
Met deze commando's creeer je de DOS executable
# voorbeeld compileren en linken C file wcc hello.c wlink format dos libpath $WATCOM/lib286/dos:$WATCOM/lib286:$BECKCLIB name hello.exe file hello.o library clib222s.lib
hierna kun je hello.exe ftp'en naar het beck board, zie send2beck.sh
Daarna in een shell typen
$ telnet 192.168.100.226 Trying 192.168.100.226... Connected to 192.168.100.226. Escape character is '^]'. SC12 Telnet session Username: tel Password: *** User logged in A:\>c: C:\>hello Hello, Beck! C:\>
Gefeliciteerd! Het eerste zelfgeschreven Beck DOS programma draait!