2015-01-14 08:51 AM
I am teaching a course on embedded programming and am having some logistics issues I am hoping someone might be able to help with here.
I have taught a class using the STM32F3 before but I had a linux environment available to setup the GNU tools etc but this time (different actual course) my classroom does not have Linux available and it will be a month or more before the 40 computers can even have a possibility of having this change made by IT.The classroom computers are Windows 7 enterprise and they let you install anything you want but on reboot they are restored to the configured state.What I need is:I have looked at the trial versions of some of the IDEs but they seem to use a registration code that I am sure will be an issue after re-registering the software on each new install.
Use of a virtual machine has been an issue last year due to the st-link driver causing blue screens. I don't think these computers have a virtual machine installed on them but if the blue screen issue is fixed and there is a quick VM that can be installed that might work?Because the semester has started time to get setup is important.I am taking over this course with a new updated perspective. The previous course had them use Arduino boards but this involved these purely software students connecting up LEDs, push buttons etc and we wanted to avoid that. The STM32F3 is nice as it has a lot of IO built in, not to mention ARM is 95% of the market so more relevant.So, does anyone have any suggestions or direction to point me in?ThanksAl #stm32f3 #teaching #compilers2015-01-14 09:57 AM
not to mention ARM is 95% of the market so more relevant.
Thank goodness, I bang my head in despair that people are teaching 8051 C and Assembler as if it's some doorway to future employment, or remotely relevant in 2015 compared to a $10-15 STM32 DISCO board. The install time for Keil/IAR is too long, perhaps you can consider installing the evaluation on to a flash stick once, having a directory for USB drivers, and duplicating/cloning the stick for the students. Presumably they would already use a flash drive to save their work. As I recall you can just install the Keil Eval without any keys/code, defaults to 32KB limited, install to X:\KEIL and put a shortcut in the drive root directory for an icon. Rowley might also be worth considering, last I checked had reasonable debug integration.2015-01-14 10:16 AM
Not sure where you're situated, I'm in the USA, but strongly consider ''International Editions'' instead of the obscene $50-100 text books.
I like Gibson for Assembler, Hohl less so as is more ARM7/9 centric Yiu for Cortex-Mx Langbridge has good ARM+Assembler coverage Mazidi has some flaws, but wins in content over polish2015-01-14 10:36 AM
Thanks for the fast reply clive1
A colleague just suggested installing Ubuntu to an USB flash stick and having them do development from there. I have to work out how I would distribute the image with tool chain installed.These classroom computers have network share drives available where I can put a somewhat limited amount of data on it for students to access. They can also logon to the eConestoga site and access via a web browser these shared files etc.I looked at Rowley but it shows only a 30 day trial and charges per workstation for educational use.Al2015-01-14 03:57 PM
Just to let you know, I came up with a solution. Create a bootable USB stick with Linux and dev tool chain on it. :)
2015-01-22 05:15 AM
2015-01-23 10:46 PM
Rats. The forum SW ate my reply.
You might like this thread:http://www.eevblog.com/forum/microcontrollers/one-dollar-one-minute-arm-development/
Andhttps://github.com/WestfW/Minimal-ARM
We programmed some STM32F103 chips in assembler, using a small subset of the ARM Gnu tools. We made it blink, we made it say ''Hello World'' (With interrupts!), and then we got bored. It was painful; ARM chips are not set up to be programmed in assembler. :(/*
* Output a decimal number from r0.
* (classic recursive algorithm!)
*/
decout: push {lr}
movs r2, #0x0A
/* 10 */
udiv r1, r0, r2
/* r1 = r0/r2 */
mls r2, r1, r2, r0
/* r1 = r0 - r1*r2 (mod 10) */
push {r2}
/* Save remainder */
movs r0, r1
/* move quotient back into r0 */
beq decout2
/* Done? Start printing */
bl decout
/* recurse */
decout2:
pop {r0}
/* get digit */
adds r0, #
'0'
/* Convert to ascii */
bl putchr
pop {pc} /* unwind */
Also recently, some Arduino folks have updated the Leaflabs ''Maple'' code to current versions:
and
2015-01-24 05:00 AM
It was painful; ARM chips are not set up to be programmed in assembler. :(
Odd then it was designed by guys who wrote a lot of their stuff in assembler? I can suggest several CPU's with more painful assembler, Recursion seems a bit like overkill, especially when a 32-bit integer can run 10 digits.2015-01-24 06:27 PM
2015-01-25 05:17 AM