Added booting process in pointers

This commit is contained in:
Kunal-Radhika 2020-11-23 20:51:22 +05:30 committed by GitHub
parent dc321404d5
commit e06f3c0e8b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -17,20 +17,20 @@ An IDE ( Integrated Development Environment) is used for programming the PCB des
![pcb design](https://user-images.githubusercontent.com/74853558/99901876-d6eb3500-2cdf-11eb-98e2-f7399bf56f47.jpg) ![pcb design](https://user-images.githubusercontent.com/74853558/99901876-d6eb3500-2cdf-11eb-98e2-f7399bf56f47.jpg)
# Booting Flow # Booting Flow
The boot process begins at Power On Reset (POR) where the hardware reset logic forces the RISC-V to begin execution starting from the on-chip SPI Flash. * The boot process begins at Power On Reset (POR) where the hardware reset logic forces the RISC-V to begin execution starting from the on-chip SPI Flash.
When connecting the board to the Laptop or Desktop the medium of connection for exchanging data is usually through RS-232, but the output swing of RS-232 is between -13V to +13V which is not in case of microprocessors. In microprocessors the output swing is can range from 5.5V to 3.3V/1.8V. * When connecting the board to the Laptop or Desktop the medium of connection for exchanging data is usually through RS-232, but the output swing of RS-232 is between -13V to +13V which is not in case of microprocessors. In microprocessors the output swing is can range from 5.5V to 3.3V/1.8V.
For now, let's consider the programming of the chip can be done from Freedom Studio IDE (Integrated Development Environment) * For now, let's consider the programming of the chip can be done from Freedom Studio IDE (Integrated Development Environment)
We use a USB type A-to-B cable that can be used to connect a host system to the board for data transfer from the Local device to the board, once connected, the LEDs will glow to indicate the main 5V power supply is active along with 3.3V and 1.8V supply. * We use a USB type A-to-B cable that can be used to connect a host system to the board for data transfer from the Local device to the board, once connected, the LEDs will glow to indicate the main 5V power supply is active along with 3.3V and 1.8V supply.
We use a special FTDI chip (FT2232H) which converts the data from USB to SPI to transfer the data serially to the chip. * We use a special FTDI chip (FT2232H) which converts the data from USB to SPI to transfer the data serially to the chip.
The rate at which the data is transferred should be synchronized. That is, the sending capability of the data from the laptop to the receiving capability of the FTDI chip is termed as the BAUD rate. The BAUD rate is normally set as 9.8Mbits. * The rate at which the data is transferred should be synchronized. That is, the sending capability of the data from the laptop to the receiving capability of the FTDI chip is termed as the BAUD rate. The BAUD rate is normally set as 9.8Mbits.
And hence the data is received without any data loss into the FTDI chip. * And hence the data is received without any data loss into the FTDI chip.
The processor can boot from an SPI flash. The device is accessed through a 4-wire SPI Interface consisting of a Serial Data Input (SI), Serial Data Output (SO), Serial Clock (SCK), and Chip Select (CSB). Instructions are sent via the SDI pin to encode instructions, addresses, or input data to the device on the rising edge of SCK. * The processor can boot from an SPI flash. The device is accessed through a 4-wire SPI Interface consisting of a Serial Data Input (SI), Serial Data Output (SO), Serial Clock (SCK), and Chip Select (CSB). Instructions are sent via the SDI pin to encode instructions, addresses, or input data to the device on the rising edge of SCK.
We can provide the simple test program with the bootloader that should print in the console and should cycle in a certain fashion to glow the LEDs on board or to display “Hello World” via UART.This test program will be overwritten in the SPI Flash when you program a new program onto the board but the bootloader code will not be modified. * We can provide the simple test program with the bootloader that should print in the console and should cycle in a certain fashion to glow the LEDs on board or to display “Hello World” via UART.This test program will be overwritten in the SPI Flash when you program a new program onto the board but the bootloader code will not be modified.
The boot starts when the CPU is released from reset (for example, on power up) and executes code in the internal SPI Flash at the reset exception address. The SPI Flash code brings the SoC out of reset and into a known state. * The boot starts when the CPU is released from reset (for example, on power up) and executes code in the internal SPI Flash at the reset exception address. The SPI Flash code brings the SoC out of reset and into a known state.
The boot process ends when the code in the SPI Flash jumps to the next stage of the boot software. This next stage of boot software is referred to as the BootLoader. * The boot process ends when the code in the SPI Flash jumps to the next stage of the boot software. This next stage of boot software is referred to as the BootLoader.
The BootLoader can be customized by mapping the internal address at the SRAM by address bus and the code is typically sent through the data bus to the SRAM and which thus stores external code from Flash memory to the internal SRAM on the chip. * The BootLoader can be customized by mapping the internal address at the SRAM by address bus and the code is typically sent through the data bus to the SRAM and which thus stores external code from Flash memory to the internal SRAM on the chip.
After the execution of the code, we can see the output of the program with the help of a serial terminal which is built-in in Freedom Studio IDE. The serial terminal will be displayed as a COM port. We can identify which COM port is being used by checking in the Device Manager >> Ports section of the Control Panel. * After the execution of the code, we can see the output of the program with the help of a serial terminal which is built-in in Freedom Studio IDE. The serial terminal will be displayed as a COM port. We can identify which COM port is being used by checking in the Device Manager >> Ports section of the Control Panel.
Once the test board boots up, we can see the pattern/output we coded in the Freedom IDE software. *Once the test board boots up, we can see the pattern/output we coded in the Freedom IDE software.