Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to working with Microprocessors

Status
Not open for further replies.

prabhukaran3

Member level 5
Joined
Mar 14, 2013
Messages
93
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Location
Karur
Activity points
2,053
Dear All,
I am very new to microprocessors.and having some experience with Micro controller PIC ,ATmel,Atmega,ARM... Now I would like to start projects with microprocessor...

My doubts as follows..
1. How to load programs to processor?
2.How to write OS? Why Linux OS is so special in embedded?
3.What is the need of SRAM and DRAM?
4. Where we can write our application program? Means which language or compiler need to use?
5. I know Little bit about raspberry PI.. Why they used SD card instead any other memery ICs?

Thanks a lot friends.. Happy Saturday.. cheers:lol:
 

Dear All,
I am very new to microprocessors.and having some experience with Micro controller PIC ,ATmel,Atmega,ARM... Now I would like to start projects with microprocessor...

My doubts as follows..
1. How to load programs to processor?
2.How to write OS? Why Linux OS is so special in embedded?
3.What is the need of SRAM and DRAM?
4. Where we can write our application program? Means which language or compiler need to use?
5. I know Little bit about raspberry PI.. Why they used SD card instead any other memery ICs?

Thanks a lot friends.. Happy Saturday.. cheers:lol:

If you are considering Raspberry pi as a case, at power ON, the ARM core will not be active, the GPU will execute first stage bootloader residing inside the ROM (it is there in the SoC while manufacuring) which will reads the SD card and loads the second stage bootloader(bootcode.bin) from SD card to L2 cache and from there it executes and initializes the SDRAM and pull the third stage bootloader ( start.elf) from SD card to RAM and executes it. At this time it reads config.txt from SD card which will have lot of parameters like arm_freq, gpu_freq, h264_freq, isp_freq, v3d_freq,core_freq,h264_freq,isp_freq, v3d_freq, sdram_freq etc which sets accordingly. Finally it loads the kernel.img which is the binary of the operating system to RAM and starts executing it using the ARM core.


Writing and OS is not that easy task, or it is not a one man job. You can write simple schedulers but writing a well matured operating system like linux is not a one man game. It takes lot of time, effort, resources and collaborations. You can read about it online.

Linux is so special because linux is opensource which means you have the flexibility to customize it and modify it according to your requirement. Also it supports various architectures.

Application programs for a raspberry pi generally means an application running on top of the operating system. This application program can be compiled by a linux gcc compiler inside the raspberry pi or an external cross compiler for raspberry pi sitting inside your computer.

To build bare metal code for raspberry pi, you can use normal arm-none-eabi-gcc compiler which you normally use for compiling C programs for any ARM microcontroller.
 
Last edited:
  • Like
Reactions: ernpao

    ernpao

    Points: 2
    Helpful Answer Positive Rating
As far as my knowledge here are my answers to your questions.

1. You need to have external flash which is connected to processor as a program memory.

2. Need to build a driver for OS. As linux is a open source it is very easy to create any application oriented programs.

3. As booting from flash memory will be very slow. So using SRAM & DRAM to increase the operating speed.

4. By using Linux you can write , compile and load the program. But need to create a driver.

Kindly correct me if I'm wrong somewhere.
 

Very thanks Vinodh and hobbyckts,

I will tell my application first then give your suggestions. My project is communication between 2 GSM modules. If 1 GSM is busy it will transfer the connections to another one. My scope is I need to develop a hardware(Strictly with Microprocessor). My client will develop the applications as they requirements(They good in linux).. Yet now I am not having any ideas about where to start... Please give some useful links
 

What is the processor and GSM you are going to use?

As you said it is the project of communication between two GSM modules. How messages are going to be processed? Can you explain the process bit clearly.
 

I will explain my project...

GSM used is SIM900A(SIMcom module). No idea about which processor to use... Application will varies as per the clients need. Sometimes IVR should be used So I need to save .Mp3 files into a SD card.
Basic functions are call forward,Msg,IVR,Voice calls,Call waiting(Basic GSM functions)

For this project what should I do? If my client prefers MCU with-in a day I can development hardware and PCBs... Due to processor I am stepping with extra care...
 

Interfacing two GSM with the processor won't be an issue. So you need to study about the interfacing of memory devices with the processors. Make a list of memory devices you are going to use and think of the interfacing also. That should help you out. But get the detail of which processor you are going to use for this project first.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top