Pages: [1]   Go Down
Author Topic: No computer to program your microprocessor?  (Read 796 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Edison Member
*
Karma: 29
Posts: 2361
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset



No worries! lol

http://hackaday.com/2012/09/24/programming-a-microcontroller-one-bit-at-a-time/#more-86018


I think i'll "pass" on this one smiley
Logged

Ayer, Massachusetts, USA
Offline Offline
Edison Member
*
Karma: 53
Posts: 1833
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

In MY day, we didn't  have any of those fancy-smancy compilers. We programmed on the bare metal, forging raw bits with nothing but our hands! No store-bought bits for us, no siree. We knew our code was done when we ran outta bits!
In 1978, I was an exchange summer student in the Netherlands, and I was programming PDP-11's.  I had to manually toggle in the boot code each time I wanted run my program (which was a spool of paper tape produced as a batch job in the school's mainframe/super-minicomputer once a day).  And needless to say during the day, I would patch the instructions loaded to 'debug' the program.  On the 11, you soon learned 3 finger octal (the 11 grouped fields within the instruction in groups of 3 bits, and it had 8 registers, the leftover bit was a flag on whether the instruction operated on bytes or 16-bit words).

At my high school and early in my college days when I was still using cards, occasionally I would patch cards with scotch tape and exacto knives.  I don't recall if I edited paper tape in that fashion or not.

My intro to assembler course in college, wanted to take us back to the 'good old days', and the first program had to be done in octal (though it was run on a simulator, since the machine we were programming for had been retired).  A few of us who were already advanced, 'cheated' by writing the program in assembler, and then using a text editor to strip out the octal bits from the assembler listing file, and create the octal instructions that way without having to do the tedious task of updating the jump labels.

I should mention this machine was one of the early machines, and it didn't have the notion of index register.  If you wanted to load:
Code:
a[b]
You would calculate the address of a+(b*sizeof(a[0]), mask it down, and update the next instruction in the stream, which was a load 0 so that it would have the correct address.

That being said, I suspect it would be a straight forward task to bring up the IDE on modern Android systems that provide host USB services.  Of course a tablet/phone is really a computer underneath, and it doesn't count as this hack.
« Last Edit: October 16, 2012, 02:10:01 pm by MichaelMeissner » Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8472
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You were lucky, when I were a lad...whole family lived in a VT05 terminal, we used to boot PDP11 before we powered it up, then lick tape clean wit' tongue, eat punch cards for breakfast before programming for 24 hours every day for sixpence a year.

And you try and tell the young programmers that...they won't believe you.

_____
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Show Your Work
Offline Offline
Edison Member
*
Karma: 14
Posts: 1072
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bit banging at the speed of your finger.  Finger banging?  Hmmm...

Another smarter way of bit banging if you don't have any other way to do it would be with a counter, an PROM, and a timer, you could easily build a circuit to play the contents of the PROM over anything that you could otherwise bit bang with a microcontroller.  The question would be why do it that way, of course.
Logged

I have only come here seeking knowledge. Things they would not teach me of in college.

Offline Offline
Sr. Member
****
Karma: 6
Posts: 429
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ay by gum, when was ta lad, up at the crack o` dawn I was....

Monty Python Sketch anyone? smiley-grin
Logged

Offline Offline
Edison Member
*
Karma: 116
Posts: 2205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

There is no debounce on his buttons. And we have been told that couldn't have worked!

On a similar tone, I have seen people driving 1602 lcd by hand too.
Logged

Valencia, Spain
Offline Offline
Faraday Member
**
Karma: 144
Posts: 5340
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I was one of the lucky ones. I started programming in hexadecimal and a real hex keypad.

Logged

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Offline Offline
Jr. Member
**
Karma: 0
Posts: 70
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Time ago, the company I work with used the old motorola 68000 series with 16Mhz clock, with separated eeprom, ram, etc. And to program the micro they used a pcmcia card, they put the pcmcia in when the board was unpowered, powered the board and the program loaded by itself.
Then power off the board again, take out the board and voila!

I wonder if it can be possible to do this also on arduino, as the pcmcia I think acts like a external eeprom or so.
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8472
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I wonder if it can be possible to do this also on arduino,
If you are willing to write an appropriate bootloader you can load a program from anywhere, EPROM, SD card, whatever, so yes it's possible.

Useful? Not really I think unless you want a way for users to do a field upgrade.

____
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Pages: [1]   Go Up
Jump to: