at91sam9x5ek linux 4,github

AT91Bootstrap Project

AT91Bootstrap is the 2nd level bootloader for Microchip microprocessors (aka AT91).

It providing a set of algorithms to manage the hardware initialization such as

clock speed configuration, PIO settings, DRAM initialization, to download your

main application from specified boot media: NAND FLASH, serial FLASH (both

AT25-compatible of DataFlash), serial EEPROM, SD Card, etc. to main memory and

to start it.

1 Host Setup

1.1 Linux Host Requirements

Refer to the GNU ARM Toolchain section below for toolchain recommendations.

1.2 Windows Host Setup

1.2.1 Install required tools

A toolchain such as GNU Tools for Arm Embedded Processors shall be provided.

Get one from e.g. https://developer.arm.com/open-source/gnu-toolchain/gnu-rm.

Run the installation wizard and specify a destination folder whose full path is

free from any whitespace.

Further instructions below are written as if the toolchain had been installed

to C:\opt\gnu_tools_arm\7-2018-q2.

Building AT91Bootstrap requires a POSIX environment. Several tools are available

on the market to provide such an environment. In these instructions we rely on

Minimal SYStem 2 (MSYS2).

Get MSYS2 from http://www.msys2.org.

Install it. The installation wizard ask for the installation folder, and

suggests to keep its full path short.

Further instructions below are written as if MSYS2 had been installed to

C:\opt\msys.

MSYS2 notably provides a minimal Bourne Shell, named mintty.

Launch mintty in the "MSYS2 MSYS" configuration: either search for the

"MSYS2 MSYS" shortcut in the Program menu, or invoke the Run dialog

('Windows' and 'R' key combination) and enter the following command at the Open

prompt:

C:\opt\msys\msys2_shell.cmd -msys

In this terminal, whose prompt is suffixed with "MSYS", request the package

manager to update both its database and the packages already installed:

$ pacman -Syuu

Still at the "MSYS" prompt, install additional packages that we will need later

on when building AT91Bootstrap:

$ pacman -S bc gawk gcc git make python2 tar

$ cd /usr/bin

$ ln -s python2.exe python.exe && ln -s python2-config python-config

Finally, close the "MSYS2 MSYS" terminal window.

1.2.2 Open a shell suitable for building AT91Bootstrap

Launch mintty in the "MSYS2 MinGW 64-bit" configuration: either search for the

"MSYS2 MinGW 64-bit" shortcut in the Program menu, or invoke the Run dialog

('Windows' and 'R' key combination) and enter the following command at the Open

prompt:

C:\opt\msys\msys2_shell.cmd -mingw64

In this terminal, whose prompt is suffixed with "MINGW64", configure environment

variables:

$ export CROSS_COMPILE="arm-none-eabi-"

$ export PATH=/c/opt/gnu_tools_arm/7-2018-q2/bin:$PATH

Still at the "MINGW64" prompt, proceed with instructions given in the Compile

AT91Bootstrap section below.

2 GNU ARM Toolchain

AT91Bootstrap has been compiled and tested under Linux using the following GNU

ARM Toolchain:

gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)

gcc version 4.7.3 (Sourcery CodeBench Lite 2013.05-24)

gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)

gcc version 4.8.3 (Sourcery CodeBench Lite 2014.05-29)

gcc version 4.9.3 (Linaro GCC 2014.11)

gcc version 5.1.1 (Linaro GCC 5.1-2015.08)

gcc version 7.2.1 (Linaro GCC 7.2-2017.11)

gcc version 7.3.1 (Linaro GCC 7.2-2018.05)

gcc version 8.2.0 (Ubuntu 8.2.0-7ubuntu1)

WARNING: check KNOWN_ISSUES for issues with older gcc versions. We recommend

using a toolchain newer than 6.0.

3 Compile AT91Bootstrap

3.1 Compile DataFlashBoot

Let's use at91sam9x5ek as an example.

3.1.1 Compile booting u-boot image from DataFlash

$ cd

$ make mrproper

$ make at91sam9x5ekdf_uboot_defconfig

$ make

If the building process is successful, the final .bin image can be found under

binaries/

3.1.2 Compile booting kernel image from DataFlash

$ cd

$ make mrproper

$ make at91sam9x5ekdf_linux_defconfig

$ make

If the building process is successful, the final .bin image can be found under

binaries/

3.1.3 Compile booting kernel & dt image from DataFlash

$ cd

$ make mrproper

$ make at91sam9x5ekdf_linux_dt_defconfig

$ make

If the building process is successful, the final .bin image can be found under

binaries/

3.2 Compile NandFlashBoot

Let's use at91sam9m10g45ek as an example.

3.2.1 Compile booting u-boot image from NandFlash

$ cd

$ make mrproper

$ make at91sam9m10g45eknf_uboot_defconfig

$ make

If the building process is successful, the final .bin image can be found under

binaries/

3.2.2 Compile booting kernel image from NandFlash

$ cd

$ make mrproper

$ make at91sam9m10g45eknf_linux_defconfig

$ make

If the building process is successful, the final .bin image can be found under

binaries/

3.2.3 Compile booting kernel & dt image from NandFlash

$ cd

$ make mrproper

$ make at91sam9m10g45eknf_linux_dt_defconfig

$ make

If the building process is successful, the final .bin image can be found under

binaries/

3.3 Compile SDCardBoot

Let's use at91sam9m10g45ek as an example,

3.3.1 Compile booting u-boot image from SDCard

$ cd

$ make mrproper

$ make at91sam9m10g45eksd_uboot_defconfig

$ make

If the building process is successful, the final .bin image can be found under

binaries/

3.3.2 Compile booting linux image from SDCard

$ cd

$ make mrproper

$ make at91sam9m10g45eksd_linux_defconfig

$ make

If the building process is successful, the final .bin image can be found under

binaries/

3.3.3 Compile booting linux & dt image from SDCard

$ cd

$ make mrproper

$ make at91sam9m10g45eksd_linux_dt_defconfig

$ make

If the building process is successful, the final .bin image can be found under

binaries/

4 Release

If you plan to release the project, you can use the command as below

$ cd

$ make tarball

If the command is successful, the .tar.gz tar package can be found under

the project top directory.

5 Others

5.1 About booting from NOR flash.

5.1.1 ROM Code version

Booting from the external NOR flash is supported in ROM code v2.1

for SAMA5D3x. Bootstrap relocates the binary to the internal SRAM and run.

5.1.2 SAM-BA

Using SAM-BA to program the binary to the NOR flash is a little different

from other booting mode. Namely, there is no 'Send Boot File' command for

NOR flash.

You should use 'Send File' command to send the binary file the same like

for a normal file, with 'Address' selected to 0.

6 Contributing your own board

If the system board that you have is not listed, then you will need

to port AT91Bootstrap to your hardware platform. To do this, follow these

steps:

1. Create a new directory to hold your board specific code under

contrib/board/ directory. Add any files you need.

In your board directory, you will need at least the "board.mk",

a ".c", ".h", "Config.in.board", and "Config.in.boardname".

2. Create the necessary default configuration files such as

"df_uboot_defconfig" in your new board directory.

3. Add(source) your board's "Config.in.board" in "contrib/board/Config.in.board" file.

4. Add(source) your board's "Config.in.boardname" in the "contrib/board/Config.in.boardname" file.

5. Add your board's ".h" in the "contrib/include/contrib_board.h" file.

6. Run "make df_uboot_defconfig" with your new name.

7. Type "make", and you should get the final .bin image can be found under

the binaries/ directory.

7 Contributing

To contribute to AT91Bootstrap you should submit the patches for review to

the github pull-request facility directly or the forum. And don't forget to

Cc the maintainers.

AT91 Forum:

Maintainers:

When creating patches insert the [at91bootstrap] tag in the subject, for example

use something like:

git format-patch -s --subject-prefix='at91bootstrap][PATCH'

-End-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值