Support for Mac OSX or Linux (arbitrary)?
jeclark2006
Posts: 2
I have found some old references to tools that could be or were compiled for these two systems in the past.
Is there anything more recent in the way of some open source, command line based, tools to compile a spin file to what ever format used to then load into the EEPROM.
I received a design for a piece of hardware, which uses the Propeller for it's controller. This is not my choice, since there are micro controller implementations that do have opensource support. Personally I would have chosen an ARM core of some sort. But I don't have that choice.
The issue is the need to load the product with unique serial numbers, and the current method is to use the Windows based loader program, to 'compile and load' to the EEPOM. This is tedious in a production environment where one wants to have as secure a path from 'source' to 'to executable loaded'. In the past I've done this by having the basic firmware in a hex file, having the 'serial' number info loaded at a given address, and burned the combo into the EEPROM either at a in house station, or sent the combo file, in a standard hex format, to a board house for them to gang load the EEPROM with the firmware.
There does not seem to be any 'production' orientation about the Propeller or the tools to work with it.
If anyone can point to some sort of tool set that is more oriented to a product, I'd appreciate it.
Is there anything more recent in the way of some open source, command line based, tools to compile a spin file to what ever format used to then load into the EEPROM.
I received a design for a piece of hardware, which uses the Propeller for it's controller. This is not my choice, since there are micro controller implementations that do have opensource support. Personally I would have chosen an ARM core of some sort. But I don't have that choice.
The issue is the need to load the product with unique serial numbers, and the current method is to use the Windows based loader program, to 'compile and load' to the EEPOM. This is tedious in a production environment where one wants to have as secure a path from 'source' to 'to executable loaded'. In the past I've done this by having the basic firmware in a hex file, having the 'serial' number info loaded at a given address, and burned the combo into the EEPROM either at a in house station, or sent the combo file, in a standard hex format, to a board house for them to gang load the EEPROM with the firmware.
There does not seem to be any 'production' orientation about the Propeller or the tools to work with it.
If anyone can point to some sort of tool set that is more oriented to a product, I'd appreciate it.
Comments
I distribute Catalina for Windows and Ubuntu Linux, but it can be compiled on other Linux distributions.
I used to also compile it on OSX, but I no longer do so as I don't actually own a Mac.
You can find the latest distribution here - https://sourceforge.net/projects/catalina-c/
I looked at the schematic and it appears that the design uses a 24LS512, which is listed as a 64Kx8(if chunked at 8 bit bytes...).
So it may be that I do have that option to use the 32K above the first 32K which is loaded on reset by the processor.
I'll look at the Catalina project. It seems there was a very recent drop.
John C.
Yes, version 4.0 has just been released. It is worth noting that Catalina can both program EEPROMs up to 128kb "in situ" and also read/write and execute code from them (using XMM). There are various Spin programs for accessing the EEPROM readily available, and there is an example of accessing the EEPROM from a C program in the Catalina\demos\spi folder.
Also, Catalina can directly output your code in various formats suitable for standalone EEPROM programmers (such as Motorola or Intel formats) using the -F command-line option (e.g. -F Intel or -F Motorola etc - see https://linux.die.net/man/1/srec_cat for all formats).
Ross.
There are quite a few open source tools out there for the Prop, but they don't get a lot of "official" love from Parallax (lots of unofficial love). If it's just a .spin file, you might look at OpenSpin (Home, CI) for compiling and either PropLoader, Propeller Load, or loadp2 for loading... I don't really know the differences. More info on those best found via Google and these forums (binaries for all available on my CI server, and possibly also their respective GitHub pages).