Вопросы по теме 'bare-metal'

Кросс-компиляция Microblaze
Кто-нибудь знает, как использовать gcc для компиляции программы с нуля для процессора microblaze xilinx? Это очень легко сделать с помощью xilinx sdk, но теперь я пытаюсь интегрировать сборку microblaze в более крупный рабочий процесс сборки....
2633 просмотров

Альтернатива 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 просмотров

Используете 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 просмотров

Стек Bare-Metal TCP/IP для BeagleBone?
Я планирую использовать BeagleBone без каких-либо дистрибутивов Linux, но с простым программным кодом. Итак, прежде всего: есть ли уже какой-то пример кода для этого? Особенно стек TCP/IP для включенного соединения Ethernet? Спасибо!
902 просмотров

Неправильная реальная скорость передачи для связи UART на микроконтроллере stm32f4 при программировании его на голом железе
Я пытаюсь передать массив символов, используя usart2, напрямую настраивая связанные регистры: RCC, GPIO, USART2, и я получаю плохую скорость передачи при измерении с помощью осциллографа (около 8 Кбод при ожидании 9600.) Я кодирую его, используя...
2078 просмотров

Скамейки и программное обеспечение 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 просмотров

Hello world PPC64 (QEMU + OFW) не работает
Я новичок в программировании на «голом железе» и программировании ядра, и что может быть лучше, чем начать свое путешествие с приветствия, мир! К сожалению, когда дело доходит до выбранной мной архитектуры, PPC64 (с использованием QEMU и...
108 просмотров
schedule 24.06.2022

Абсолютные адреса в позиционно-независимом коде (PIC)
Я пытаюсь создать и связать один образ для загрузки в качестве ядра ОС (т.е. в QEMU), ориентируясь на aarch64-unknown-none-softfloat. Я использую собственный файл linker.ld, который устанавливает точку входа для ядра ENTRY(_reset) и позиционирует...
414 просмотров

Является ли переключение данных в протоколе 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