I am having a older version of board with AM188ES connected with external Flash,RAM,ELIC and other IC's now I want to know how access those externally connected devices using microcontroller and also I am having only two pins TXD and RXD pins connected via RS232 to D9 connector. Is it possible to read and write the flash which is externally connected.
Thanks in advance.
Muzaffer Basha J
If you're asking if you can automatically talk to the memory via whatever is programmed into the microprocessor -- no, you can't, unless the program specifically supports it, and even then it'll have to be done using the designed-in protocol.
If you're talking more generally -- you read the flash as if it were any other RAM, but there's a specific protocol involving a specific series of writes and reads that you need to do to erase or write it. The chip will always be set up to work with a memory chip on one of its enable outputs, but you may have to program the chip's internal registers to use the other enable outputs (details vary, and it's been a good long time since I've played with 188's).
If you're working on an old product of your company's, you need to find whatever internal documentation is available and start from there. If you don't have that documentation, then it may be cheaper to scrap the board and start over from fresh.
Dear Tim Wescott,
Thank you for your response.
But I don't have any documentation regarding this one. May I know what are all required, say for example which compiler or bootloader I need to program the AM188ES such that I may access the devices connected to MC. If not means is there any way to get sort out of it.
Muzaffer Basha J
Is the flash socketed, or is it soldered on?
If it's socketed, can you find spare parts, and a flash programmer?
We used the Borland compiler and Paradigm debugger, but I'm not sure those can even be found.
The external flash connected to AM188ES is soldered but I removed it and I have Xeltek Super Pro through which I have erased the flash and also stored back the same program. Can you have any suggestion sir.
You do not say why you are doing this project. Are you a student studying on a course or working for a company/business trying to get an old machine working? What is your knowledge level?
If you are a student and learning to program embedded systems then Tim Wescott has given you the best advice you are going to hear. Scrap the board and get a new development board or single board computer that comes ready to run out of the box with all the necessary support software. That is with 'C' compiler + assembler and run time library for that particular board. Many micro manufacturers supply these, Microchip is a prime example with many dev boards for their huge range of PIC microcontrollers. Alternatively try an Arduino board or Raspberry pi. These latter have large active user groups to get advice from.
So I'm now going to try and put you off using the AM188 board you have by listing all you will need to get the board running.
Appropriate 'C' compiler with run time library for the that particular board. If the board has no 'bios' or bootloader program (most dev boards from that time had a bootloader with a few commands that ran over an RS232 serial connection) then you will have to write your own serial driver for the TXD and RXD pins you mention. This is a bit of a task in its own right.
Circuit diagram of board and IO addresses of all the peripherals (ie serial port). In particular you need to know if the peripherals are located in the IO address space or memory mapped in the memory address space. You will also need to know where in the memory address space the flash and RAM are located and how to tell the linker these addresses.
Full details of the serial port interface chip (UART) so you can write a driver for it if you don't have a bootloader.
Full details of the flash chip you want to read and write to. Writing to flash can be slow so you may also need to set up and use one of the timers in the AM188. So you'll need the data sheet on the AM188.
If you are lucky and do have a bios or bootloader for the board then you will need the details of its entry points for the serial port. This is so the program you write can send and receive text over the serial port and so communicate with an external PC (via PuTTY or equivalent). You will also need to know where in the flash to put your code ( and how to call it ) and where to put the bootloader. You may also need to separately locate the interrupt vectors. (Can't remember on the 188 architecture, it's been a long time)
Hope the above is useful!
Thank you for your response. I have found some bootloader and bios files in assembly language on internet. Will it works means will it be helpful.
Howdy, most flash and sensors I deal with are I2C or SPI. So, if this is the case, this'll sound more complicated, but it's a tradeoff: likely your uC doesn't have I2C (or SPI) support built in. So, either write your own (not easy, but doable, I've done I2C), or use a second uC as interface: I2C to parallel or whatever. A bonus for having to write the interface is you can write a more sophisticated controller into it.
Example: an I2C temp sensor could have multiple outputs based on setpoints, ranges, etc. Good Hunting... <<<)))