View Full Version : Nmin-2106-usb-1
alpierce
10-29-04, 07:07 PM
Is there any additional info available, other than the 3 pages that came with it,
on the NMIN-2106-USB-1? How is the USB port implemented in firmware? Can one just jumper J7 and J9 and use the USB connection instead of/in addition to the DB9? Will MaxForth be available for the LPC2106 boards soon? Thanks.
There is a release of MaxForth for the ARM on the 2129 and 2106 boards (V5.3B) but only the readme file comes with it detailing memory map, autobooting and a few other things. Our immediate focus for the ARM platform is IsoMax for ARM.
IsoMax for ARM is a MaxForth core enhanced with, a fully supported state machine programming paradigm, 1 us timeouts, queues, high level interrupts, fuzzy logic, random numbers, flash storage, full peripheral register access, autobooting, floating point, interactive development, full 32 bit, double numbers for 64 bit, debug facilities and it runs real fast (preliminary release available upon request).
As for the USB board, with the jumpers set to the USB port as detailed in the readme file, MaxForth will use that port for I/O. The DB9 port is then available for use. The USB to UART connection is implemented in the chip FT232 from FTDI. All drivers are available at:
http://www.ftdichip.com/FTDriver.htm.
The nice thing about using the USB port is that you don't need a power adaptor since the board will draw power from the USB, one less cable.
From the readme file:
If there is a jumper between TRST +3.3V on header J4, then the board will boot up and use the USB port. If there is no jumper, then the board will boot up with the rs232 port.
Rob
alpierce
11-01-04, 02:12 PM
Rob,
Thanks for the reply. I didn't receive a disk with the readme file, so I was not aware there was one. Is that available on the site somewhere?
Al
nmitech
11-01-04, 02:24 PM
alpierce ,
A preliminary release version of IsoMax for ARM is now available for licensing,
http://www.newmicros.com/cgi-bin/store/order.cgi?form=prod_detail&part=IsoMax%5BARM%5D
Here is the link for the IsoMax ARM manual,
http://www.newmicros.com/store/product_manual/isomaxarmum.pdf
alpierce
11-16-04, 03:41 PM
I was trying out the IsoMax examples and in section 17. BLINKGRN, there is a problem defining the -LOOPVAR word.
The words P, P@ TRUE and FALSE are not defined. Have these been changed or just deleted? Also, does V5.3B of MaxForth for the 2106 require a seperate license than
IsoMAX and is the MaxForth core in IsoMax a full V5.3B MaxForth version?
Thanks for the feedback. TRUE and FALSE will be added but PHERE P, P@ P! probably won't because they are for the DSP Harvard memory model and the ARM is single memory model. There are some issues with ROMmed words as well that still need to be addressed, tho and it will affect the Pxxx words.
So, a working definition for -LOOPVAR which only runs out of RAM is:
0 CONSTANT FALSE FALSE DUP = CONSTANT TRUE
: -LOOPVAR <BUILDS 1- DUP , , DOES>
DUP @ 0= IF DUP CELL+ @ SWAP ! TRUE ELSE 1-! FALSE THEN ;
is the MaxForth core in IsoMax a full V5.3B MaxForth version?
Yes. As for licensing, I'm not sure.
Rob
nmitech
11-17-04, 10:18 AM
does V5.3B of MaxForth for the 2106 require a seperate license than IsoMAX
Yes. A seperate signed license is required for ARM 's Max-FORTH kernel without IsoMax supported. It's available per special request.
alpierce
11-17-04, 03:50 PM
Is the same jumper , J4 TRST, used for MPE Forth to enable the USB port?
nmitech
11-17-04, 04:14 PM
Is the same jumper , J4 TRST, used for MPE Forth to enable the USB port?
No, it only applies for IsoMax and Max-FORTH.
alpierce
11-17-04, 04:39 PM
Is there a jumper/procedure that enables the USB under MPE Forth?
nmitech
11-18-04, 09:20 AM
MPE-FORTH loaded on the TiniARM and NMIN-2106-USB-1 is dedicated UART0 for serial I/O only. Where UART1 is left for custom applications. It can be used as Serial I/O, or GPIO, or PWMs, therefore software configuration of your own choice is required.
alpierce
12-07-04, 12:37 PM
IsoMax over USB seems to be working quite well. I was wondering if there is support for hardware handshaking over the USB/serial port? I see that there are jumpers available for the signals on J10, but I don't have any documentation on their use. I am using software pacing to regulate the data transfers when downloading/compiling source files to IsoMax/MaxForth. It seems it can only handle about 1 char/ms when compiling.
Does this sound about right? I seem to remember the compile speed of the MPE Forth was quite a bit higher, but I don't believe it used handshaking either.By the way, I am doing my development on a Mac running OS X and a terminal program that I developed using RealBasic. I'm trying to wring out as many variables as possible before I move the development to Xcode and "set things in stone" .:D
I use Zterm on Mac OS X and set the delay between lines to 17ms and this works unless there are too many numbers on the line. Each number takes the most time as the dictionary is scanned for each number before it is interpreted as a number and if there are too many numbers per line, then that line takes too long to compile and characters are missed in the next line. If known, this can be avoided by having a maximum of two numbers per line, using constants or increasing the delay between lines. There is a certain amount of buffering at both ends of the USB link which helps for transient slow downs but the overall flow rate is limited by the dictionary lookups. As for MPE-Forth, I can't remember if it ran at 115200 like IsoMax does.
Hardware handshaking is not preferred as it can lead to other problems with systems hanging.
I'm interested in the terminal program you are putting together as one problem with Zterm is that I'd like to run several simultaneous copies of it for several boards but the program was not written that way and causes errors.
As an aside, have you done any cross platform development with either RB or Xcode? Particularily, compiling a program on Mac OS X to run on Windows?
Rob
alpierce
12-09-04, 02:48 PM
I have a couple of different versions of the terminal program. The first one I did is set up to use a Keyspan 4 port USB Serial converter and opens a seperate terminal connection for each one. Each has it's own window and they run simultaneously. The second version is at present single connection USB to the NMIN-2106-usb.
Both versions have a smart download function that detects compile errors during download and stops the download with the error highlighted. I'm about two evenings away from having a function that also opens the source file in a text editor and selects the offending word for editing.
Laziness, and the "wouldn't that be cool" syndrome! I've done a little cross development work and porting the terminal app to the PC might be interesting. I do have to say that I started out trying to get the NMIN-2106-usb running on a PC, but had soooo much trouble getting the FTDI driver installed and working that I abandoned the effort and did it on the Mac instead. The driver installed without a hitch and everything has been rock solid. I run a Keyspan 4 port USB Serial converter on the PC with no problem, so I would likely port the first version of my app. On the Mac I will likely combine the two and be able to support both serial port and USB based controllers.
vBulletin v3.0.7, Copyright ©2000-2012, Jelsoft Enterprises Ltd.