Raspberry Pi without OS  - Part 2

Raspberry Pi without OS - Part 2

Raspberry Pi without OS  - Part 2
Raspberry Pi without OS  - Part 2
  • 35
  • Raspberry Pi
  • ۱۹ اسفند ۱۳۹۷
  • 1 دقیقه مطالعه
  • 0

In the first part we discussed about available types of Raspberry Pi. In this article we want to talk about program execution and booting mechanism. For writing a program in hardware, before all, we have to know that system, its hardware details and get familiar with its function; to be familiar with Raspberry Pi stay with sisoog.

 

Inside the core

BCM2836

BCM2836

About single board computers and embedded systems, it is tried to makes circuits simpler and smaller, so, most needed features are built into one chip that finally result in a smaller and simpler circuit. The same for raspberry pi, BROADCOM company has made a great contribution to the raspberry project. All raspberry products are based on this company’s chips and it has made great success in this field.

Chips used in Raspberry Pi have two different processing cores. One of them do the video and image processing, like a graphic card generates a feed of output images, video decoding and encoding; this core makes Raspberry Pi capable for video player and home theater.

 

BCM2836 diagram

BCM2836 diagram

 

The second core is actually an ARM core which can be multicore, for example raspberry version 2 and later have 4 cores that process programs. In these article, we mostly work with this core, and programs must be written in the way that this core be able to run them.

To save on expenses, both cores set up together to use one shared hardware equipment that contains shared interrupts. to prevent exceptions and unexpected situations must be careful about using resources and interrupts.

 

What happens when Raspberry-Pi turns on?

The most important thing about running a program using a processor is to know about booting routine and turning-on-process which gives us the ability to run our program from the right place. Raspberry pi has more complex system than microcontrollers; because of more complex processor inner structure that is unavoidable.

Raspberry-Pi Booting Diagram

Raspberry-Pi Booting Diagram

 

After that raspberry powers on or resets, first of all, GPU search the SD card for first partition of MBR (master boot record), then after recognizing file partition of bootcode.bin, it loads and run on RAM memory; so, the bootcode.bin is like a bootloader which can be changed by user.

In normal situation, bootcode.bin, after executing, search for start.elf and config.txt which presets hardware, such as GPU settings, for loading main kernel. Then kernel.img loaded to address x8000 and program execution starts from this address. In fact, loading kernel is the last part of booting process and after that user takes control of program.

 

How to start?

Before we introduce compiler and learn how to compile and other settings, you can download a written (blinking LED) program from below links and place it in memory card.

1.Format memory card – be sure to choose Fat32 as file system type and “Boot” as the name of drive.

 

formatting memory card

formatting memory card

 

2.After that, download related files from the link below, extract them and paste them in the memory card.

Download Sisoog ACT Blink Raspberry PI B+

Download  Sisoog ACT Blink Raspberry PI 2

 

3.Then place the memory card in the board and turn it on, ACT LED starts to blink.

Sisoog_Act_LED

 

In the next article we are going to discuss about configuration and installing required tools for compiling program and run the first program on raspberry pi board.

 

———————————–

Author: Zeus

Translate: Golnoosh 

حمایت از Golnoosh AbdollahiNejad

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

Golnoosh AbdollahiNejad
Golnoosh AbdollahiNejad

studying electrical engineering

دیدگاه ها

0 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک