September 18, 2024
September 18, 2024

In AM335x the ROM code serves as the bootstrap loader, sometimes referred to as the Initial program Loader (IPL) or the Primary Program Loader (PPL) or ROM Program Loader (RPL).

The booting is completed in two consecutive stages by U-Boot binaries.

  1. The binary for the 1st U-Boot stage is referred to as the Secondary Program Loader (SPL) or the MLO.
  2. The binary for the 2nd U-Boot stage is simply referred to as U-Boot. SPL is a non-interactive loader and is a specially built version of U-Boot. It is built concurrently when building U-Boot

Memory Booting: Booting the device by starting code stored on permanent memories like flash-memory or memory cards. This process is usually performed after either device cold or warm reset.
Peripheral Booting: Booting the device by downloading the executable code over a communication interface like UART, USB or Ethernet. This process is intended for flashing a device.

Booting the SPL

The ROM code can load the SPL image from any of the following devices:

  1. Memory booting with MMC
  2. Peripheral booting with UART

1. Memory Booting with MMC

The image should have the Image header. The image header is of length 8 byte which has the load address (Entry point) and the size of the image to be copied. RBL would copy the image, whose size is given by the length field in the image header, from the device and loads into the internal memory address specified in the load address field of Image header.

When using memory boot a header needs to be attached to the SPL binary indicating the load address and the size of the image. SPI boot additionally requires endian conversion before flashing the image

The ROM Code supports booting from MMC / SD cards in the following conditions:

  • MMC/SD Cards compliant to the Multimedia Card System Specification and Secure Digital I/O Card Specification of low and high capacities.
  • MMC/SD cards connected to MMC0 or MMC1.
  • Support for 3.3/1.8 V on MMC0 and MMC1.
  • Initial 1-bit MMC Mode, optional 4-bit mode, if device supports it.
  • Clock Frequency: identification mode: 400 KHz; data transfer mode up to 10 MHz.
  • File system mode (FAT12/16/32 supported with or without Master Boot Record), image data is read from a booting file.
  • Raw mode, image data read directly from sectors in the user area.
    • In raw mode the booting image can be located at one of the four consecutive locations in the main area offset 0x0 / 0x20000 (128KB) / 0x40000 (256KB) / 0x60000 (384KB).

2. Peripheral Booting with UART

RBL loads the image to the internal memory address 0x402f0400 and executes it. No Image Header present.

When using peripheral boot (UART) there can be no header as the load address is fixed.

The ROM Code supports booting from UART in the following conditions:

  • UART boot uses UART0.
  • UART0 is configured to run at 115200 baud, 8-bits, no parity, 1 stop bit and no flow control.
  • UART boot uses x-modem client protocol to receive the boot image.
  • Utilities like hyperterm, teraterm, minicom can be used on the PC side to download the boot image to the board.
  • With x-modem packet size of 1K throughout is roughly about 4KBytes/Sec.
  • The ROM code will ping the host 10 times in 3s to start x-modem transfer. If host does not respond, UART boot will timeout.
  • Once the transfer has started, if the host does not send any packet for 3s, UART boot will time out.
  • If the delay between two consecutive bytes of the same packet is more than 2ms, the host is requested to re-transmit the entire packet again.
  • Error checking using the CRC-16 support in x-modem. If an error is detected, the host is requested to re-transmit the packet again.

Bootloader Images:

Image Name Image Size Image Header Purpose
spl/u-boot-spl 2.2M No The binary of SPL ELF Image.
spl/u-boot-spl.bin 91264 Bytes No The second-stage bootloader (a stripped down version of u-boot that fits in SRAM).
spl/u-boot-spl.map 227K No contains the information for each symbol.
MLO 91784 Bytes Yes, GP Header spl/u-boot-spl.bin with a GP image header prepended to it.
U-boot.bin 474K No is the binary compiled U-Boot bootloader
u-boot.map 674K No contains the memory map for each symbol
U-boot.img 474K Yes. GP header contains u-boot.bin along with an additional header to be used by the boot ROM to determine how and where to load and execute U-Boot.
September 18, 2024

Configure & Build u-boot 2019.04 source code

  1. Download u-boot source code
$ cd ~/KM_GITHUB/
$ git clone https://github.com/kernelmasters/beagleboneblack-uboot.git $ cd beagleboneblack-uboot
  1. Configure u-boot source code for KM-BBB and build using the below scirpt. It takes 3 to 5 minutes.
$ km-bbb-uboot-build.sh
  1. After succesfully build u-boot source code and current folder X-loader image “MLO” and “u-boot.img” generated.

u-boot.bin: is the binary compiled U-Boot bootloader.

u-boot.img: contains u-boot.bin along with an additional header to be used by the boot ROM to determine how and where to load and execute U-Boot.

Install u-boot 2019.04 source code

Using Sd card

Install MLO and u-boot.img images in to sdcard using the below script.

$ ./km-bbb-uboot-install.sh --mmc /dev/sdX

where ‘X’ indicates sd card device name. find out using dmesg command after inserting sd card.

Using Network (TFTP)

$ ./km-bbb-uboot-install.sh --board X

Where ‘x’ indicates KM-BBB board number.

Configure & Build Kernel 4.19.94 source code

  1. Download kernel source code from github
$ cd ~/KM_GITHUB/
$ git clone git@github.com:kernel-masters/beagleboneblack-kernel.git
$ cd beagleboneblack-kernel
  1. Configure kernel source code for KM-BBB and build using the below scirpt. It takes 3 to 5 minutes.
$ km-bbb-kernel-build.sh
  1. After succesfully build kernel source code and current folder vmlinux image generated.

Install kernel source code

Using Sd card

Install vmlinuz, dtbs, modules images in to sdcard using the below script.

$ ./km-bbb-kernel-install.sh --mmc /dev/sdX

where ‘X’ indicates sd card device name. find out using dmesg command after inserting sd card.

Using Network (TFTP)

$ ./km-bbb-kernel-install.sh --board X

Where ‘x’ indicates KM-BBB board number.

September 18, 2024

Step 1: Test the Raayanmini board

At Kernel Masters, each board is flash tested with self-diagnostic images thoroughly before delivering.

Once you receive the board it is your responsibility to test the board once again, as per the instructions given in the below video.
If you find any test case failures, immediately send a WhatsApp message and inform to Kernel Masters Admin team about the same. In case we do not receive any such message from you, it will be assumed that the board is working properly.

Without testing the board as per the given instructions, if you flash any other image on the board, Kernel Masters is not responsible for the board anymore. So without doing proper testing, do not load any images onto the board.

 

Step 2: Install Keil IDE & Board Support Packages

Follow the below video and install Keil IDE, STM32 Board support packages and ST Link V2 Debugger Drivers.

Download and Install Keil IDE (Integrated Development Environment) software here.

 

Download and Install STM32 Cube software here.

September 18, 2024
  • Download and install Virtual Box host software here and also Extension pack here.
  • Download Kernel Masters’ customized linux “KernelMasters_OS_2.0.ova” from here .
  • Open the virtual box ,and click the File->Import Appliance and upload Open Virtualization Appliance file , downloaded in previous step.
Open Virtual Box
Open Virtualization Appliance file and install
  • Click Install button and enter Linux family and start enjoying the Open Source World.
  • By default user name is “km” and password also “km”.
  • By default Host OS(Windows) Documents folder is mounted to Guest OS(Linux) for sharing data in between Windows and Linux.

 

ERROR 1: Virtualization disable

VirtualBox: VT-x is disabled in the BIOS for all CPU modes Error

Solution:

If you face above error in your system means, virtualization option is disabled in your system. So, you need to go to your laptop/desktop BIOS and enable VT-x option and restart system.

Incase if you don’t know how to enter BIOS, then search in google like

“How to enter BIOS <your laptop model number>”

For example: My laptop model no is “Dell 3410”
You can search “how to enter BIOS Dell 3410”

September 18, 2024
September 18, 2024

1. Some Insights on the current situation of COVID-19

Life is the most precious gift. And the most valuable resource is time. Fortunately all of us have both of them right now. We have plenty of time that we can utilize in a productive way to lead our lives into a brighter future.

We live in a society where the safety of every life is of utmost importance to everyone else. Only we happened to realize it recently. It is a kind of positive change that happened because of COVID-19. However the responsibility to keep ourselves safe from the Pandemic lies in our own hands. We can do so by engaging ourselves in some activities which will help us to move towards a sustainable career by staying indoors safely.

The situation has brought many tragedies, but in a way it has also done some good to the nature and also to our lives. Now all we have to do is to stay safe,keep the good changes, come out of this situation clean & Healthy along with our near & dear ones. While we are doing this, it is also a good chance for us to prepare for a better future.

2. Stay Home. Stay Safe. Do not Panic!

By PANIC, we mean the fear of future. What will be the situation after the lockdown? The Corona Virus Pandemic has affected many developed & Developing countries and it has hit them in a really bad way. The countries will take some time to come out of the financial crisis caused by the present situation and the loses incurred by the companies is also huge. All this negativity is going to hit the job market and we might face some difficulties, which might be called by the dreaded name “RECESSION”.

However, my suggestion is , DO NOT PANIC. Be POSITIVE. Every Crisis brings some opportunities too, we only have to identify and grab on time. Especially there is a lot of scope for Embedded Solutions in health industry right now and in coming future.

Students from the upcoming pass out years must be in a blank state of mind, currently, with absolutely no idea about what is going to happen once they are out. It is not my intention to give some future predictions but we would give some suggestions using which, students will have some direction to think in and to seek guidance from someone at least. We have some suggestions for them to cope with this situation.

3. Career Opportunities

  • Will the Embedded Industry remain same before and after COVID-19 crisis?
  • I am a ECE 2019/2020 graduate? What opportunities can I expect after COVID-19 crisis?
  • How to utilize the lockdown period and get ready for the Industry past COVID-19?

These are some questions that must be running in the heads of the Engineering graduates right now.It is Universal Truth that Right Skill and Hard work will never go waste. Even if the world is at a crisis right now, it has to still run.

There will be companies, Industries and jobs. But the numbers might be slightly less compared to the situation before. But they will never be ZERO. This means there will be more competition, which in turn becomes more demand for the right skillset.

Hiring is not going to stop. But hiring will be based on worth of the candidate, because there will be more number of candidates available per position. So your job as a student during this time will be to increase your WORTH.

The COVID-19 situation has actually opened doors to new possibilities in technologies like Artificial intelligence, Block Chain, Embedded Systems etc.

Right now there is huge requirement for Innovative products to deal with this crisis in a better way, in the Health Industry. For example Ventilators, contact less temperature sensors, COVID-19 patient data tracking systems etc.

There is also requirement for time & cost effective solutions in development countries like India. Which brings in greater opportunities for Open Source Technologies. For example, there is a sudden demand for ventilators due to Corona virus disease spread, but there is not enough supply. As a quick solution, Open Source Ventilator development is one of the ongoing projects.

COVID-19 Will Fuel the Next Wave of Innovation

quoted from an article by Mr.Hamza Mudassir

September 18, 2024

Latest Technologies like Artificial Intelligence, Robots, Drones, Face Recognition, Chatbot and Block Chain are all contributing to the fight against the fast-spreading corona virus.Embedded Systems is an important part of the above all technologies. Let’s see the various solutions which are under development already, as part of the fight against COVID-19 situation to boost our love for Technology.

  • Contact less temperature detection:

Take temperature measurements from a safe distance with Fluke infrared thermometer. It is going to be a very basic but mandatory requirement at the entry or exit of many places where people are going to gather.

  • Face Recognition:

Face Recognition Technology is being used in surveillance systems that can recognize people, even while they are wearing masks, with a relatively high degree of accuracy. Facial recognition companies are pitching the technology as a sanitary alternative to fingerprint scanners for attendance systems.

  • Robots:

Robots can deliver food and medicine to patients. Also can be used for sanitisation of hospitals, offices or malls without human intervention.

  • Drones:

Drones are being used for contactless medicine delivery, spraying disinfectants around the country, especially in quarantine zones.

  • Chatbots

To provide genuine information from a valid source on which people can rely so that fake news can be avoided.

  • Blockchain

Blockchain could offer ways to improve many public health activities associated with preventing and controlling diseases. Blockchain technology has the ability to improve health, access to information, supply chains and many more.

Glad to say, almost all of these solutions involve Embedded Systems as the main technology.

September 18, 2024

During this lockdown period, we are conducting online classes to our students to keep them engaged. Also, since we believe in practical oriented teaching, we have decided to take an initiative to invent cost effective solutions to deal with COVID-19 kind of situations using Embedded Systems with the help of our students.

These will be solutions we are going to develop to get our students to handle social responsibility while practicing social distancing.

Execution Plan:

  • Encourage our students to come up with innovative ideas to help fight the COVID-19 crisis and also useful in future.
  • Check the feasibility and choose the best ideas to be converted to projects.
  • Assign tasks to all interested students, and let them work in their home comfort zone.
  • Coordinate meetings and start working on the project.

Benefits to our students:

  • Addition of New Skillset and real-time projects to the profiles,will increase opportunities.
  • Students get to research and learn about latest technologies like AI, ML, IoT etc.
  • Students will learn the real-time applications of latest technologies.
  • Goal based / project based learning will lead to real-time knowledge.
  • Weightage added to their profiles because of the projects.
  • Utilization of valuable time during lockdown period.
  • Preference In placements by companies as the projects are going to be related to Health Industry, the domain with maximum opportunities in coming future.
  • Boost in Confidence.
September 18, 2024

How to utilize this time and get ready for the Industry past COVID-19?

We are going to provide some suggestions to students to up-skill themselves and get ready for the upcoming Industry requirements. This is a situation to sharpen the pencils and dive into the technology pool, not just keep worrying about the recession.

Lets start with

  • Learn some programming language, preferably C Programming, if you want to make a career in Embedded Systems.
  • Practice & Solve at least one programmatic problem daily using websites like hacker ranker or hacker earth etc.
  • Learn about open source technologies like Linux Operating System.
  • Start understanding and analyzing the open source code available and try to make some contributions.
September 14, 2024
September 14, 2024

Kernel Masters offers a Blended Learning mode to their students for Embedded Systems courses.

What is a Blended Learning Mode?

Blended Learning mode integrates virtual or recorded and physical classroom modes of teaching. We can make efficient usage of time and resources with the help of technology. This approach is gaining popularity over corporates and universities.

How does it work at Kernel Masters?

In Blended mode, the 6 months fresher course contains:

  • 30% recorded videos
  • 30% classroom sessions
  • 40% lab sessions

Recorded Videos: pre-requisites that are expected to know already, are covered in the course in the form of recorded videos, along with some theoretical sessions.

Recorded videos can be played in the classroom, just like normal sessions.After every recorded session, the instructor will explain the summary of the session and discuss the doubts or important points.

Some videos can be given to be watched at home, before starting a new topic, so that student gains some idea before attending actual class. This will help the student to watch the video multiple times and gain some understanding when the topic is complex.

The videos are recorded while our instructors were teaching in the same classroom environment.

They won’t be available to outsiders, the videos are the proprietary property of Kernel Masters.

Classroom Sessions:

30% of the syllabus is covered in classrooms, physically by the instructor.

LAB Sessions:

Everyday there will be 2 hours of classroom and 6 hours of lab sessions.

For every topic, we have a set of well-designed assignments to make the topic more understandable. The assignments are prepared in such a way that at the end of the day, they get complete understanding of the topic.

The assignments will be discussed in the classroom in following classes, whenever necessary to suggest the best approach to solve it.

Why Blended Learning ?

The entire world is moving towards a smart work life. Through Blended Learning, we are also trying to make smart and efficient usage of the instructor’s time.

The training is a 6 months duration course, with a lot of syllabus to cover. We have to cover pre-requisites and basics also, to bring everyone to the same level before starting the actual syllabus.

In Blended Learning mode, we can save the instructor’s energy, so that he/she gets to spend more time on the actual topics, doubts and on the lab issues instead of spending time on teaching the same theory for every batch. This will ensure a better learning experience for the students.