Embedded module TQMa6x - PTXdist Linux BSP documentation
Adapting BSP for an own product
we suggest to read the following pages before you proceed with this page
The BSP was developed for the starterkit . To use it in a product with special needs or a different basebord we suggest to define an own platform. To start with it make a copy of the platform definition and select the new platform definition
$ cd <BSPROOT> $ cp -r <BSPROOT>/configs/platform-tq-mba6x to <BSPROOT>/configs/<your-cool-platform> $ ptxdist platform <BSPROOT>/configs/<your-cool-platform>/platformconfig
To start configuring your new platform type
$ ptxdist platformconfig
The first thing to change should be the platform name. Adapt things like kernel configuration, image creation etc. to your needs.
The new system will be built under <BSPROOT>/platform-<platformname_from_platformconfig>
Please read the build system documentation howto go further. Keep in mind that custom mainboards may need changes in bootloader and device tree. Give the new bootloader config and device tree a new name to cleanly distinguish them from the starterkit mainboard configuration.
If creating BSP for a new motherboard, make sure to create new configurations for bootloaders and device tree.
Changing packages
PTXdist uses release tar balls for software it loads from the net. You have to work with patches, if you need to make changes to the source code. Follow the instructions of the developers section in the PTXdist manual.
Changes that are made in the build directories will be deleted, when PTXdist needs to redo a buildstep.
Adding own packages
PTXdist needs a package for every bit you need in your root FS to guarantee reproducible builds. To add your software, files etc. you have to provide local packages. Follow the instructions of the developers section in the PTXdist manual. PTXdist provides templates as starting point for own packages. Type the following command to see what package templates exist.
$ ptxdist newpackage
Partitioning
Changing the partition scheme may affect the boot loader update capability and / or the kernel command line parameters!
SD / eMMC images
SD / eMMC Image
BSP Revision ≥ 110
- sector size 512 Byte
- unpartitioned area: 4MiB (0x2000 sectors)
Sector | Size | Usage |
---|---|---|
0x00000 … 0x000000 | 0x0001 sector / 512 Byte | MBR / Partition Table |
0x00001 … 0x000001 | 0x0001 sector / 512 Byte | reserved for ROM loader 1) |
0x00002 … 0x0007FF | 0x07FE sectors / 1023 KiB | u-boot |
0x00800 … 0x000FFF | 0x0800 sectors / 1MiB | environment 2) |
0x01000 … 0x001FFF | 0x1000 sectors / 2 MiB | free |
0x02000 … 0x00BFFF | 0xA000 sectors / 20 MiB | boot /firmware (Kernel,devicetrees) |
0x0C000 … 0x08BFFF | 0x80000 sectors / 256 MiB | root |
0x8C000 … 0x10BFFF | 0x80000 sectors / 256 MiB | spare, unformated |
1) See CPU reference Manual. This sector can be used for Redundant Boot Support
2) Environment organisation:
- configured environment size: 8kiB (16 Sectors)
- environment type: redundand
- primary environment (sectors): 0x0800 … 0x080f (0x100000 … 0x101fff)
- redundand environment (sectors): 0x0810 … 0x081f (0x102000 … 0x103fff)
BSP Revision ≤ 109
Sector | Size | Usage |
---|---|---|
0x0000 … 0x0000 | 0x0001 sector / 512 Byte | MBR / Partition Table |
0x0001 … 0x0001 | 0x0001 sector / 512 Byte | reserved for ROM loader 1) |
0x0002 … 0x07ff | 0x07fe sectors / 1023 KiB | u-boot |
0x0800 … 0x0fff | 0x0800 sectors / 1MiB | environment 2) |
0x1000 … 0x17ff | 0x0800 sectors / 1MiB | device tree blob |
1) See CPU reference Manual. This sector can be used for Redundant Boot Support
2) Environment organisation:
- configured environment size: 8kiB (16 Sectors)
- environment type: redundand
- primary environment (sectors): 0x0800 … 0x080f (0x100000 … 0x101fff)
- redundand environment (sectors): 0x0810 … 0x081f (0x102000 … 0x103fff)
- partitioned area:
Partition | Size | Usage |
---|---|---|
1 | 4 MiB | Kernel image |
2 | 256 MiB | root FS |
3 | 256 MiB | Spare, not formatted |
4 | —- | —- |
The partition scheme is defined using the config file <BSP_ROOT>config/platform-tq-mba6x/config/images/uboot-hd.config. The creation of the image is controlled using the PTXdist packages image-uboot-tqma6<q|s>-hd.make, these packages are located at <BSP_ROOT>/configs/platform-tq-mba6x/rules/.
To create the image the genimage host tool is used. This tool is automatically selected and built. You can find the build directory under <BSP_ROOT>/platform-MBa6x/build-host/genimage. There is also a README file documenting how to use this tool.
SPI NOR
SPI NOR
- sector size 64 KiB
Sector | Size | Usage |
---|---|---|
0x0000 … 0x0007 | 0x0008 sectors / 512 KiB | U-Boot *) |
0x0008 … 0x0008 | 0x0001 sector / 64 KiB | environment0 |
0x0009 … 0x0009 | 0x0001 sector / 64 KiB | environment1 |
0x000b … 0x000f | 0x0005 sectors / 320 KiB | devicetree |
0x0010 … 0x0070 | 0x0060 sectors / 6 MiB | Kernel |