Съдържание
Използвайте инструмента за изграждане на root, за да направите фърмуер на RV1126 IMG
Използвайте инструмента за изграждане на root, за да пакетирате изпълнимия файл, който сте компилирали във фърмуера (img файл)
Представете два често срещани метода
Метод 1:
Поставете компилирания изпълним файл в директорията buildroot/board/rockchip/rv1126_rv1109/fs-overlay-sysv/etc/init.d на sdk, и компилирайте и пакетирайте всичко това.
Например, тук поставих компилирания изпълним файл test-app в директорията
- Следващия, просто трябва да компилирате отново целия фърмуер
Командата за компилиране на фърмуера е
- След компилиране. Ще видите тестово приложение, този изпълним файл, в директорията /etc/init.d в края на дъската.
След това можете да го стартирате, или го копирайте в друга директория и го стартирайте.
Този метод е най-простият и най-препоръчителен
Метод 2:
Следвайте правилата за компилиране на SDK и добавете своя собствена програма към buildroot.
1) Добавяне на файл test.c
В директорията с изходния код, създайте своя собствена папка APP със следната команда:
$mkdir приложение/mytest
Резултатите от движението са показани на фигурата по-долу:
Можете да създадете своя собствена програма APP в директорията mytest. Тук ще създам тестов код на test.c, пример
Кодът е както следва
Все още, в директорията mytest, създайте Makefile, който компилира програмата test.c. Примерният код е както следва:
Резултатът от създаването е завършен, както е показано на фигурата по-долу:
2) Добавете към конфигурацията на менюто
Когато конфигурирате пакета buildroot, всеки трябва да го активира в графичния конфигурационен интерфейс, така че нашите
Приложението също трябва да генерира опция. Под изходния код на SDK пакета, отвори “buildroot/package/Config.in” досие.
Скочи до последния “крайно меню” и добавете следния примерен код (Забележка: трябва да е преди последното крайно меню на този файл
Добави към). Кодът изглежда така:
Резултатът от добавянето е показан по-долу:
No.2061 Добре, използва се в цитирания източник”package/mytest/Config.in” файл, така че трябва да създаваме
За да създадете този файл, командата е следната:
$mkdir buildroot/пакет/mytest/
След създаването на директорията (mytest е името на пакетния пакет под buildroot), трябва да създадем директорията mytest
“Config.in” досие, съдържанието е следното:
Резултатът от добавянето е показан по-долу:
- Версия на APP и правила за компилиране
В предишния раздел, добавихме APP към опциите за конфигурация. По това време, buildroot все още не знае как
Изтегляне, екстракт, компилирам, и т.н., трябва да добавим конфигурационен файл, за да кажем на buildroot как да работи, и трябва да създаваме “buildroot/
package/mytest/mytest.mk”, името трябва да е mytest.mk. Копирайте следния примерен код в mytest.mk
Примерен код mytest.mk код
Този файл казва на buildroot как да компилира, Изтегли, копие, и т.н.. Всички макроси с главни букви започват с “МОЯТ ТЕСТ”
Заглавката се определя въз основа на името на нашия пакет.
В редица 1, променливата в края на _VERSION е версията на изходния код.
В редица 2, променливата в края на _SITE е адресът на изтеглянето на изходния код.
В редица 3, променливата в края на _SITE_METHOD е методът за изтегляне на изходния код, и local означава локално изтегляне.
линии 4 и 10~12 автоматично изпълнява инсталацията и копира файловете, които нашият mytest може да изпълни в директорията bin.
линия 6, променливите в края на _BUILD_CMDS ще бъдат изпълнени, когато се компилира buildroot framework, и се използват за добавяне на M към изходния код.
akefile предава опции за компилиране и опции за свързване и извиква Makefile на изходния код.
Редове 14~16 дават разрешения за файла.
линия 18, тази функция ще изгради целия .mk файл в скрипт.
Въведете
buildroot/изход/rockchip_rv1126_rv1109_spi_nand
Изпълнете make menuconfig
включи моя тест
След завършване на конфигурацията, можем да проверим дали нашият mytest може да бъде компилиран, в buildroot/изход/rockchip_rv1126_rv1109_spi_nand
За тестване в директорията, командата е следната:
$направи mytest
Резултатите от движението са показани на фигурата по-долу: