I guess the first step is to familiar with C, as most programmable hardware have C (or C like) compiler. Other language (C++, Java, PHP) are too large/slow/complex to implement in limited resource. Also, there might be a need to change programming style to compensate for limited resource. Eg: use tight loop instead of loop-unroll, use of "goto" instead of function call (function call will consume memory stack space, goto not).
Th next step is to know what is your goal ? Is it complex or simple task ? For simple task, it's better to use hardware without OS (eg: microcontroller). Else, better get hardware managed OS, so that you don't have to worry about memory management.
IMHO, the easiest programmable hardware is "OpenWRT supported router/modem". Just get their source code, then run this program in Linux. Try to take a peek for included source code. Not to mention that in OpenWRT you can do programming in C, shell, lua, ruby, java or PHP (and many more...). Also, you can use ZTE ZXDSL831 (a.k.a TM NET ADSL modem) as a platform, so go grab one then start programming.
http://wiki.openwrt.org/TableOfHardware
http://skaya.enix.org/wiki/BroadCom96345
Firmware programming, How to start ?
Feb 12 2007, 06:00 PM
Quote
0.0172sec
0.41
6 queries
GZIP Disabled