Why not use SD. Cards are cheap ($6 or so for 2GB). They can interface to a MCU using ultra-simple SPI. The code is not terribly difficult. For what you're doing you probably don't need to do a full-on FAT system. Just write and read the card raw.-I need to be able to do basic r/w to about 1MB of some type of external, non-volatile memory.
First, is there any interface anyone would recommend for the readable/writeable, external storage (since I need to manually communicate with it using a very small amount of code). Is SPI the best?
There are tons of them that might work. I'm working with **broken link removed**, though it might be tougher to program in assembler than something like a PIC or AVR. Even has an SD card slot.-I need two RS-232 connectors. (One for screen output, one to talk to a smart card reader. Should have corresponding UARTs, of course.)
-I need to be able to play basic sounds out of a speaker (i.e. some kind of analog output).
More importantly, can anyone recommend a microcontroller board that might suit this purpose.
You have no answer because this is a strange thing to dump on a student.
In addition we do not know anything about what you have learned so far.
The request is impossible to answer well.
3v0
Why not use SD. Cards are cheap ($6 or so for 2GB). They can interface to a MCU using ultra-simple SPI. The code is not terribly difficult. For what you're doing you probably don't need to do a full-on FAT system. Just write and read the card raw.
There are tons of them that might work. I'm working with **broken link removed**, though it might be tougher to program in assembler than something like a PIC or AVR. Even has an SD card slot.
You don't need a programmer/debugger, though that makes things nicer/easier. The LPC2000 line all have bootloaders, so just plug a serial cable in and you're in business.
ARMs can be programmed in asm, but are really more suited to programming in C. Why the restriction to asm? You can use C without libs. Just write your own functions. I'm not knocking asm. I love asm, but C is just so much easier and quicker to bang out code with.
What microcontrollers are you familiar with?
Hi, I'm a student working on a project where I need to code everything in assembly and cannot use an OS or libraries. (I.e. I need to code _everything_.) The amount of code I write needs to be absolutely minimal. (Each unnecessary line should be avoided for the project to be successful.)
The summarized I/O requirements of my finished system are:
-I need to be able to do basic r/w to about 1MB of some type of external, non-volatile memory.
-I need two RS-232 connectors. (One for screen output, one to talk to a smart card reader. Should have corresponding UARTs, of course.)
-I need to be able to play basic sounds out of a speaker (i.e. some kind of analog output).
-3 basic buttons or more.
First, is there any interface anyone would recommend for the readable/writeable, external storage (since I need to manually communicate with it using a very small amount of code). Is SPI the best?
More importantly, can anyone recommend a microcontroller board that might suit this purpose.
Let me know if you'd like any more details or have questions.
Thank you very much. -Ryan
PIC, AVR, Arm it's your choice to make. What programmer / debugger do you have?
I'm not sure yet. I'll be developing in a linux environment. Do you have any recommendations?
I've never programmed an ARM in asm. I hear they can be a bit complex. They certainly are in C. These are 32-bit processors and , for your purposes, are probably way overkill. But they aren't expensive and there's plenty of capacity to grow. They have LOTS of memory and peripherals.Why might it be tougher? Do you know which instruction set might yield less code?
It's a piezo transducer. I've never tried doing anything but beeps, but I think it could do sound just fine. You wouldn't get much low end out of it, but piezo's are used as tweeters in stereo speakers all the time.Is there a way you could hook a speaker up to it? I'm assuming the buzzer just buzzes? (I need to play basic wav files.)
The LPC-P2148 board has two buttons. You could solder wires to them to get remote buttons and/or use some of the free pins to add buttons. Doing that is very simple.Also, do you know if there is any way of adding a button or two? I need about 3.
I'm not sure yet. I'll be developing in a linux environment. Do you have any recommendations?
are unfounded. You aren't putting the compiler on the chip, and a compiler produces the SAME type of file that an assembler does. Also, once you burn your firmware you can read protect it. The gcc compiler, which is already in your Linux distro. can work very well for this. What Futz just said about assembler on the ARM; it isn't for the faint of heart!Since the application of this board (electronic voting) is very security critical, we need to avoid dependence on a compiler since malicious backdoors can potentially be inserted into the compiler.
I very much doubt any malicious back door code would survive for more than a microsecond in the open source world. There are some majorly smart people who use and maintain that compiler every day. They would definitely find and kill such a thing immediately if it ever managed to get put in the code in the first place (it would never make it that far), and go after whoever wrote the code. What I'm trying to say is, it just wouldn't happen. The compiler can be trusted.I think your fears:
are unfounded. You aren't putting the compiler on the chip, and a compiler produces the SAME type of file that an assembler does. Also, once you burn your firmware you can read protect it. The gcc compiler, which is already in your Linux distro. can work very well for this.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?