Skip to main content

Squawk successfully ported to an ARM Cortex-M3

10 replies [Last post]
fraybentos
Offline
Joined: 2007-11-16
Points: 0

Hi,

I finished my thesis a while back and as a side project I've ported Squawk to an ARM Cortex-M3 based microcontroller. I've posted a video here: http://www.vimeo.com/5460534.

The video shows a midlet running on Squawk running on the Cortex-M3 board which prints an hello message at a fixed time interval.

I'd like to thank the Squawk team for helping me with any questions I had.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
tom.bujok
Offline
Joined: 2013-05-19
Points: 0

Hi,

Great stuff. Is it possible to find the source code anywhere?

Tom

sanchezgarciamn
Offline
Joined: 2013-05-01
Points: 0

Hi

Is it possible to get a more detailed information on the steps of how you ported the Squawk to an ARM Cortex-M3?

Thanks,

qawsed123
Offline
Joined: 2009-10-21
Points: 0

Frybentos, I have some questions for you, because I'm trying to port the Squawk to an iMX31 motherboard, with Linux embedded and ARM (arm1136) processor and with the help of a arm-1136jfs-gnueabi crosscompiler.

1. If my build platform is my laptop with linux x86, toolchains and crosscompiler, Do I need JAVA 5 SDK in my host (or target) platform for running the squawk? (I think yes).

2. Where do you put the commands for build the squawk (in squawk wiki) in the builder platform and then copy the files to the host-platform (your arm cortex) or put all commands in your host platform?

3. Did you add any platform file, compiler file, and son on in the builder folder and then create a new build-commands.jar ?

I need some hints for approach the project, because I have lots of doubts xD.

PD: Does your ARMCortex MB run a Linux distro? And has a gcc compatible compiler?

Thanks in advance!

eric_arseneau
Offline
Joined: 2004-07-15
Points: 0

> 1. If my build platform is my laptop with linux x86,
> toolchains and crosscompiler, Do I need JAVA 5 SDK in
> my host (or target) platform for running the squawk?
> (I think yes).
If you are intending to run on Linux and are using Trunk, then yes. If you are using the native branch, then you will not need Java 5 SDK on the system.

> 2. Where do you put the commands for build the squawk
> (in squawk wiki) in the builder platform and then
> copy the files to the host-platform (your arm cortex)
> or put all commands in your host platform?
Commands go on the host platform. You build the VM and the suites on the host in a cross compiler fashion and then deploy to the board.

> 3. Did you add any platform file, compiler file, and
> son on in the builder folder and then create a new
> build-commands.jar ?
He did do some changes as there are issues, but if you use the builder.properties pattern and the last post I made to another thread, where you can say -plugins:youdir then you should not have to.

> PD: Does your ARMCortex MB run a Linux distro? And
> has a gcc compatible compiler?
No his port runs on the bare metal, no OS on the device. Squawk takes over just as it does on Sun SPOTs.

qawsed123
Offline
Joined: 2009-10-21
Points: 0

> 1. If my build platform is my laptop with linux x86,
> toolchains and crosscompiler, Do I need JAVA 5 SDK in
> my host (or target) platform for running the squawk?
> (I think yes).

[b]If you are intending to run on Linux and are using Trunk, then yes. If you are using the native branch, then you will not need Java 5 SDK on the system.[/b]

Oh, I'm sorry for this question. Yesterday I was thinking (not much) and I arrived at the same conclusion. I'm conscious that it's very obvious but I didn't known anything about squawk, toolchains and so on until two months ago

Ok, so if the gist of squawk is that it can be the SO and the software platform (as SunsPot, isn't it?). Therefore in a MB without SO (like the case of this post) it has non sense try to install java sdk.

> 2. Where do you put the commands for build the squawk
> (in squawk wiki) in the builder platform and then
> copy the files to the host-platform (your arm cortex)
> or put all commands in your host platform?

[b]Commands go on the host platform. You build the VM and the suites on the host in a cross compiler fashion and then deploy to the board.[/b]

For this reason I thought that wasn't necessary (and the project wasn't funny) copy all trunk and execute all commands in the board SO. The key is build the VM with my cross compiler (therefore compatible with my board) and copy the suites (executable and some libraries, isnt' it?) in the board for deploy them.

> 3. Did you add any platform file, compiler file, and
> son on in the builder folder and then create a new
> build-commands.jar ?
[b]
He did do some changes as there are issues, but if you use the builder.properties pattern and the last post I made to another thread, where you can say -plugins:youdir then you should not have to.[/b]

Interesting. I don't deal in the project in depth yet but I thought (in fact, I created some java files) that in the compiler folder (for example in builder-commands.jar) I would do some corrections in the proper compiler lines like "gcc -options -o ..." for adapt them to my cross compiler "arm-x-linux-gnueabi..." and activate some flags, options, link libraries, and so on.

> PD: Does your ARMCortex MB run a Linux distro? And
> has a gcc compatible compiler?

[b]No his port runs on the bare metal, no OS on the device. Squawk takes over just as it does on Sun SPOTs. [/b]

As I said at the top, now I understand his project.

Very interesting the answer at the question number 3. Lots of thanks for all, seriously!

PD: sorry for my poor english, especially I'm conscious that my grammar repeats it a lot.

eric_arseneau
Offline
Joined: 2004-07-15
Points: 0

Really cool stuff Das. We will be getting this code into an official squawk cortex m3 project shortly.

bradleej
Offline
Joined: 2004-08-27
Points: 0

Is the code going to be posted in the project? I saw a project but with nothing in it?

Will this also run on the ARM Cortex-A8? I've been looking at the Beagleboard for some development work.

fraybentos
Offline
Joined: 2007-11-16
Points: 0

I can't answer the first question but I can answer the second. Squawk itself will run great on a Beagleboard, however the cortex-m3 code I wrote is very chip specific and won't run on a cortex-a8.

ghelle
Offline
Joined: 2006-03-22
Points: 0

Hello,

i am looking for the squawk code for this project but the repository is empty...
Where i can find it?

Thanks for your help!
Best regards

Guillaume Helle

spodesser
Offline
Joined: 2011-04-21
Points: 0

A very good question :)
I'm too interested in the SQUAWK code for the ARM Cortex-M3 :)
Kind regards,
siegfried