Вопросы по теме 'bare-metal'
Кросс-компиляция Microblaze
Кто-нибудь знает, как использовать gcc для компиляции программы с нуля для процессора microblaze xilinx?
Это очень легко сделать с помощью xilinx sdk, но теперь я пытаюсь интегрировать сборку microblaze в более крупный рабочий процесс сборки....
2633 просмотров
schedule
25.11.2021
Альтернатива Newlib?
Я разработчик встроенного программного обеспечения, работающий с процессорами типа IA-32. Мы ищем цепочку инструментов компилятора - желательно бесплатную.
Раньше мы использовали Mentor Graphics CodeBench Lite, но он больше не доступен.
Мы...
2866 просмотров
schedule
20.10.2021
Сценарий компоновщика: поместите конкретный файл в более позднюю позицию
Я хотел бы написать сценарий компоновщика примерно так:
SECTIONS {
. = 0x0;
.startup . : { startup.o(.text) }
.text : { *(.text) }
.data : { *(.data) }
.bss : { *(.bss COMMON) }
. = 0x4000;
other.text : { other.o(.text) }...
1958 просмотров
schedule
14.09.2021
В чем разница между компиляцией C / C ++ без операционной системы и компиляцией для конкретной ОС (Linux)?
Предположим, у вас есть цепочка инструментов кросс-компиляции, которая создает двоичные файлы для архитектуры ARM.
Ваша цепочка инструментов выглядит так (работает на машине X86_64 с Linux):
arm-linux-gnueabi-gcc.exe: для кросс-компиляции для...
3542 просмотров
schedule
16.11.2021
Приостановить работу lwIP Raw API
Я работаю над проектом с использованием Zynq (Picozed devboard). Приложение запускается с нуля, использует lwIP TCP в режиме RAW и в основном ведет себя следующим образом:
Получите пакет данных через Ethernet, который хранится в оперативной...
653 просмотров
schedule
22.11.2021
Vivado / XSDK: Как получить доступ к адресу с шины Zynq M_AXI_GP0?
Допустим, я создал проект vivado Zynq FPGA, и я хочу записать и прочитать порт Zynq "M_AXI_GP0" из c-программы, работающей на zynq, как показано ниже. Далее, предположим, что адрес, который я хочу читать и записывать на порт «M_AXI_GP0» Zynq, - это...
940 просмотров
schedule
14.09.2021
Как правильно настроить регистр USART_BRR в STM32L476RG uC?
Я пытаюсь написать собственный драйвер для USART_TX на плате Nucleo STM32L476RG. Здесь таблица и справочное руководство .
Я использую Keil uVision 5 и в диалоговом окне «Управление» установил:
CMSIS ›Ядро
Устройство ›Запуск
Xtal = 16...
275 просмотров
schedule
21.11.2021
main.c.o использует аргументы регистра VFP, a.out не использует
У меня есть main.c, который компилируется так:
arm-none-eabi-gcc -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -o CMakeFiles/lab1.elf.dir/main.c.o -c main.c
Вывод readelf -A main.c.o :
Attribute Section: aeabi
File Attributes
Tag_CPU_name:...
1227 просмотров
schedule
16.10.2021
Полезны ли драйверы устройств PCIe при использовании Linux в качестве загрузчика для кода с нуля?
Я разрабатываю встраиваемую систему на процессоре PowerPC, и существует потребность в связи с FPGA через PCIe. Я хочу использовать Linux / embedded-Linux в качестве загрузчика, чтобы использовать его код инициализации PCIe и API-интерфейс драйвера...
426 просмотров
schedule
20.02.2022
Используете std :: tuple с arm-none-eabi-gcc в автономном (голом железном) проекте?
Насколько я понимаю, std::pair и std::tuple в основном представляют собой конструкции времени компиляции, которые не требуют какой-либо конкретной поддержки времени выполнения и могут быть реализованы (если это беспорядочно) исключительно с...
718 просмотров
schedule
23.04.2022
Принесет ли использование aarch64-none вместо aarch64-elf какую-либо пользу в Bare Metal?
Я слежу за Rpi 3 bare metal учебным курсом. Я потратил много времени на «голый металл» с Rpi A + и Zero, используя отличное репо Дэйва Велча и другие источники.
Самое замечательное в этом руководстве по Rpi 3 то, что
1) it's 64 bit
2) it's...
3062 просмотров
schedule
26.04.2022
Стек Bare-Metal TCP/IP для BeagleBone?
Я планирую использовать BeagleBone без каких-либо дистрибутивов Linux, но с простым программным кодом.
Итак, прежде всего: есть ли уже какой-то пример кода для этого? Особенно стек TCP/IP для включенного соединения Ethernet?
Спасибо!
902 просмотров
schedule
30.04.2022
Неправильная реальная скорость передачи для связи UART на микроконтроллере stm32f4 при программировании его на голом железе
Я пытаюсь передать массив символов, используя usart2, напрямую настраивая связанные регистры: RCC, GPIO, USART2, и я получаю плохую скорость передачи при измерении с помощью осциллографа (около 8 Кбод при ожидании 9600.)
Я кодирую его, используя...
2078 просмотров
schedule
04.05.2022
Скамейки и программное обеспечение Baremetal
Я ищу некоторую информацию о программировании на голом железе. Я работаю на разных платформах PowerPC и в настоящее время пытаюсь доказать, что ядро Linux не влияет на некоторые тесты. Эти тесты довольно простые, загружаются и сохраняются в asm...
712 просмотров
schedule
22.05.2022
Как я могу загрузить «голое железо» с SD-карты на PocketBeagle?
Что я пытаюсь сделать:
Я пытаюсь загрузить свой новый PocketBeagle в обычную программу сборки.
.equ GPIO_BANK1, 0x4804C000
.equ GPIO_OE, 0x134
.equ GPIO_USR_SETPIN0, 0x194
.equ GPIO_USR_PIN0, 0x13C
.globl _start
_start:
ldr r0,...
886 просмотров
schedule
06.06.2022
Hello world PPC64 (QEMU + OFW) не работает
Я новичок в программировании на «голом железе» и программировании ядра, и что может быть лучше, чем начать свое путешествие с приветствия, мир!
К сожалению, когда дело доходит до выбранной мной архитектуры, PPC64 (с использованием QEMU и...
108 просмотров
schedule
24.06.2022
Абсолютные адреса в позиционно-независимом коде (PIC)
Я пытаюсь создать и связать один образ для загрузки в качестве ядра ОС (т.е. в QEMU), ориентируясь на aarch64-unknown-none-softfloat. Я использую собственный файл linker.ld, который устанавливает точку входа для ядра ENTRY(_reset) и позиционирует...
414 просмотров
schedule
09.07.2022
Является ли переключение данных в протоколе USB специфичным для конечной точки?
Я пишу USB в качестве хоста, baremetal. Я столкнулся с некоторыми проблемами с переключением данных, мой вопрос: переключение данных относится к конечной точке
Я имею в виду, что рассмотрите МАССОВУЮ передачу, у вас есть конечная точка...
412 просмотров
schedule
26.07.2022
Как напечатать (или сбросить) любой тип указателя на шестнадцатеричный?
Я здесь, чтобы задать вам вопрос о разработке ядра (конкретно для процессоров x86), моя проблема заключается в следующем: я хочу показать шестнадцатеричный адрес любого указателя.
Я пробовал много вещей, выясняя для себя, но я врезался в эту стену....
173 просмотров
schedule
05.08.2022
Как предотвратить main.o :(. Eh_frame + 0x1c): перемещение усечено, чтобы соответствовать: R_AARCH64_PREL32 против `.text 'при создании программы aarch64 baremetal?
Играя с созданием исполняемых файлов baremetal, я обнаружил эту ошибку:
main.o:(.eh_frame+0x1c): relocation truncated to fit: R_AARCH64_PREL32 against `.text'
collect2: error: ld returned 1 exit status
Затем мне удалось создать пример...
879 просмотров
schedule
15.08.2022