Baking Pi - Operating Systems Development
cl.cam.ac.uk
cl.cam.ac.uk
I did a bit of ARM assembly in the late 80's and early 90's on Acorn kit and it taught me more than anything else.
I did simlar things in a electronics course for pic microcontrollers which I would hardly call a os course.
I remember paying 45 pints for a calculator at university (TI 85).
(pints of cheap lager that is).
For ref I paid 25GBP for an NSpire CAS - just don't buy new.
I used to be an EE and a reduction in manufacturing cost like that is never going to happen unless you're selling LED keyrings or something.
Probably a more realistic one is 80% of the cost and the profit margin has probably been destroyed by the uptake of computers in schools.
Also don't forget that even though they are simple devices, their SoC (z80) is binary compatible going back to 1996 (that's 16 years). It takes a lot of money to keep that compatibility and good supplier relations producing old silicon yet adding features.
Other manufacturers such as Casio don't open up their platform as much as TI and therefore can swap CPUs etc. If you look at Casio, each device is fundamentally different and incompatible. Some of them are SH3, some microcontroller, some dedicated silicon. Buy a Casio 9750 now and it won't run a program you wrote on a 7400 a few years ago.
TI decided to fix all this with the NSpire which uses Mentor Nucleus as the OS and gives people binary compatibility through other means i.e a higher bedrock abstraction.
The 83 is spot on for schools which is why they insist on it. It's just the right device for the job and is a sensible convention.
The NSpire emulates a TI83 to give you an idea how important this is to TI ( http://education.ti.com/images/product-family/nspire-touchpa... )
However I agree that as/if they expand this tutorial, it would be useful to introduce some C or C++
Not that that's not a useful starting point for low-level hacking, but it's really a stretch to call it an OS given that there's no hint of anything like memory management, task management, hardware abstraction, or any notion of user-level processes that are distinct from the OS itself. Fiddling with GPIOs and writing data to video RAM is great for instant gratification, but it's probably the least interesting part of even a toy operating system.