This wiki has been archived and made read-only.
For up-to-date information about TkkrLab and it's projects please visit our main website at tkkrlab.nl.

Aan de slag met Beck-board

From

Jump to: navigation, search

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
400px-Beckboardgoed.jpg400px-Beckboardfout.jpg

Board aansluiten

IPCboard-top.png

 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!