问题标签 [bsp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - BSP 在嵌入式 Linux 中是什么样子的?
我的职业是嵌入式开发人员(新手)。我已经为 ARM Cortex-M、PIC、Atmel 8 位控制器编写了固件(C 和 C++)。我知道源代码管理,这就是为什么我曾经在不同的C header files
.
我已经为具有相同微控制器 (PIC24F) 的定制板编写了固件,但它们的板载外围设备、调试接口、LED、按钮和其他东西在不同版本的板上不断变化。因此,我曾经有一个 BSP 文件夹,其中包含每个板的头文件和一个顶级头文件,其中包含基于宏的特定头文件(每个板一个宏)。然后,配置头文件定义一个宏来启用所有必需的外围设备,配置一个特定的板。
BSP 头文件如下所示:
最终的板特定头文件如下所示:
现在,我正在研究yocto project
和device tree
. 我想知道 BSP 在 yocto 项目和嵌入式 linux 中的实际样子。它只是device tree
包含特定于板的、特定于 SoC 的信息,并且可能是特定于核心的信息吗?或者还有更多的东西?
我知道这个问题可以被认为是,TOO BOARD
但我正在寻找的是 Yocto 项目或嵌入式 Linux 中 BSP 结构的简要概述。指向特定导演或在线链接的指针将非常有助于入门。我已经尝试了几次谷歌,但没有找到它的简明图片。请帮忙。
embedded - 在引导加载程序中读取 GPIO
我在 IMx6 芯片上运行 Windows CE。我试图在引导加载程序阶段读取按钮状态以将设备设置为不同的状态。
是否有一个 GPIO 库,我通常可以在引导加载程序的任何地方调用?我一直在尝试调用common_ddk.h
(DDK = Device Driver kit)中的函数,但出现错误。
android-source - Android CTS - 没有符合配置要求的可用设备
我正在尝试通过 using对SC20 EVbcts-tradefed
进行 android 兼容性测试,并且在尝试通过 using 运行 cts 测试时cts run --plan CTS
,它显示了以下日志:
没有与 cmd id 1 的配置要求匹配的可用设备。
该怎么办?
linux-kernel - 如何从 linux-at91 4.14 版本的用户空间支持启用 sysfs“导出”gpio 编号?
我正在使用 SAMA5D27 SoM1 Ek 板(Microchip)并且正在使用Yocto。
我的 linux-at91 是 4.14 版本。
在这个 linux-at91 内核中,默认情况下sysfs gpio export
删除了用户空间控制支持。
如何在 sysfs 中启用导出 gpio?
embedded-linux - Poky 提供的 BSP 与 Beaglebone black 的 meta-ti 之间的区别
BSP 为 poky 和 meta-ti 提供的 Beaglebone black 有什么区别
poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
在 poky 源代码中提供 Beaglebone black 的机器配置
meta-ti/conf/machine/beaglebone.conf
在 meta-ti 层中提供 Beaglebone black 的 Machine 配置。
我能够在 Beagle bone black 上构建并运行 Poky 生成的图像。meta-ti BSP Layer 有什么优势?
linux-kernel - 如何在board/ti下为uboot添加新板
5年后我正在看u-boot。在boards/ti 下添加自定义板似乎不再是微不足道的了。我将 board/ti/am335x 复制到 board/ti/pm335x 然后将 include/configs/am335x_evm.h 复制到 include/configs/pm335x_evm.h 通过复制将板条目添加到 arch/arm/mach-omap2/am33xx/Kconfig: config TARGET_AM335X_EVM 用于配置 TARGET_PM335X_EVM。
在 am335x_evm_defconfig 中:
CONFIG_AM33XX如何直接选择board/ti/am335x?我将 CONFIG_AM33XX 替换为 CONFIG_TARGET_PM335X_EVM=y
为什么即使在指定 TARGET_PM335X_EVM=y 之后我的电路板也不会被选中
为什么配置和编译失败?
如何添加新板?
linux-kernel - 如何在 Yocto 中彻底重建 Linux 内核模块?
我可以rm -rf tmp/ sstate-cache/ cache/
从头开始运行整个 Yocto 构建,但我宁愿不重建所有内容(尤其是像 Qt 这样的包可能需要一些时间)。
我试过了:
bitbake -c cleansstate linux-iwg15 kernel-module-imx-gpu-viv cryptodev-module
注意:我也尝试过cleanall
,但结果相同:
一旦到达以下位置,任何一个内核模块最终都会引发此错误do_compile
:
该{build_dir}/tmp/work-shared/{MACHINE}/kernel-build-artifacts
文件夹实际上包含include/generated/autoconf.h
我尝试复制 to 的内容,kernel-build-artifacts
但{build_dir}/tmp/work-shared/{MACHINE}/kernel-source
仍然出现错误。
linux-iwg15
BitBake 食谱在这里。
在重建 Linux 内核模块之前,我还有什么需要清理的吗?
在干净的构建之后,我确实注意到kernel-build-artifacts
包含kernel
和scripts
文件夹(以及source
to的符号链接..\kernel-source
),我不记得在运行后尝试重建时在那里bitbake -c cleansstate
。
gpu - A: 在 IMX6 上使用 vivante GPU 和 4.14 内核
我正在研究基于 Phytec 的定制板,在将 Phytec BSP 从 krogoth 移植到 thud 时,我无法使用基于 gpu 的渲染。
克罗斯:
- 显示-> imx-drm
- libegl 提供程序-> imx-gpu-viv
砰:
- 显示-> imx-drm
- libegl 提供程序 -> 台面
我正在使用一个需要 egl 库的 GUI 应用程序。它抛出错误
请解释 GPU 驱动程序与 mesa 和 imx-gpu-viv 的关系以及使用它的应用程序。
linux-kernel - FDT(扁平设备树):属性名称(字符串):逗号终止的字符串而不是 NUL 字符
我已经开始编写一个用于读取 FDT (DTB) 格式文件的库,但是在测试 DTB 文件时遇到了问题。DTB 文件是我拥有的一块板(Digilent ZYBO-Z7)。我从实际的 Linux 内核编译了源设备树。
有两个属性名称(' linux ' 和' phandle ')用逗号字符而不是NUL 字符连接。
属性结构(蓝色和红色)将(红色)指向逗号后的字符串:
蓝色:0x00000004(属性值大小)
红色:0x00000105(属性字符串偏移)
绿色:0x00000007(属性值)
字符串块从偏移量0x1D4C开始。
这是DTB 文件中字符串部分的简短hexdump输出:
用逗号连接的两个字符串从偏移量 0x1E4B 开始,到偏移量0x1E57结束。在偏移量0x1E50处是逗号。
这是正确的行为吗?
更新:
我找到了这句话:
属性“linux,phandle”已过时。如果存在,它的值应该等于属性“phandle”的值。
我的测试文件只有一个属性名称“ linux,phandle ”。没有“普通”属性名称“ phandle ”。还尝试了另一个具有相同结果的 DTB 文件。
这是为了向后兼容吗?因为linux,phandle和子字符串phandle(从偏移量0x1E51开始)在第一个屏幕截图中具有相同的属性值(0x00000007 )。
intel - 使用 Intel Quartus 中的 Intel University 程序示例 - 主板支持包有问题?
我想使用 Intel FPGA Monitor Program 18.1 中的示例并在 Quartus 18.1 中使用它。这是视频示例,它在 HDMI 输出上创建一个蓝色框,并在其顶部写入一个带有白色字母的小字符串。
我想在 Intel Quartus 环境中使用它,在我的屏幕上做一些测试输出,最后向 Avalon 系统添加更多硬件。不幸的是,它对我不起作用,因为我认为 xD:
短文件概述:
项目文件:DE10_Nano_Computer.qpf
QSYS 配置文件:Computer_System.sopcinfo
SRAM 文件:DE10_Nano_Computer.sof
NIOSII 主要:video.c
NIOSII 库:address_map_nios2.h
项目包括:
I/O 外设 | Qsys核心
- 片上存储器
- 字符缓冲区 用于视频显示的字符缓冲区
- SD卡 SD卡接口
- 红色 LED 并行端口 并行端口
- 扩展并行端口 并行端口
- 滑动开关并口 并口
- 按钮并口 并口
- 端口 JTAG 端口 JTAG UART
- 间隔定时器 间隔定时器
- 系统 ID 系统 ID
- 外设音频端口音频
- 视频端口像素缓冲器 DMA 控制器
Test1:打开 FPGA Monitor Program 18.1 - 创建新项目 - 选择视频示例 - 在 FPGA 上下载 sof - 编译和加载 video.c结果:工作 HDMI 显示测试字符串
测试 2 :将 .sof 下载到 FPGA - Nios 的 Eclipse - 使用 bsp 的新项目 simple hello world - 使用 .sof-put video.c 和 address_map_nios2.h 进入项目 - 使用 video.c 作为主要,结果:工作 HDMI 显示测试-细绳
测试 3:与 Test2 相同,结果:前约 20 行中的随机像素
测试 4:重新安装 FPGA Monitor Program 18.1 与测试 2 相同结果:工作 HDMI 显示测试字符串
测试 5:像 Test2 一样做,不起作用,像 Test4 一样做结果:前 20 行中的随机像素
测试 6:将 .elf 从我的 FPGA Monitor Program 18.1 软件目录复制到项目文件夹中,运行这个 elf结果:工作 HDMI 显示测试字符串
测试 7:更改测试 6 的 video.c,结果:工作 HDMI 显示测试字符串但没有蓝色框!
测试 8:与测试 2相同结果:前约 20 行中的随机像素
测试 9:检查运行配置:选择处理器和字节流设备的所有组合结果:前约 20 行中的随机像素
测试 10:切换到 FPGA Monitor Program 18.1,编译并加载 video.c结果:工作 HDMI 显示测试字符串
检查:https://home.isr.uc.pt/~jfilipe/files/Final_Project_Simplified_Tutorial.pdf中的描述 (它们几乎相同......)
检查:使用 NIOS II 处理器和 VERILOG 编写嵌入式 SoPC 设计示例:他们说:BSP 编辑器将获取 sopcinfo 文件并支持您访问硬件。无需太多配置
检查:英特尔 BSP 文档:嘿,说:BSP 编辑器将获取 sopcinfo 文件并支持您访问硬件。无需太多配置
检查:英特尔 Nios® II 处理器:youtube 中的硬件抽象层:https ://www.youtube.com/watch?v=HF7Low_sUig
我想我选择的 sopcinfo 或 BSP 有问题。也许您可以给我一些建议,如果您需要更多信息,请告诉我!:) 谢谢 :D
下面是我的开发环境的一些截图:
https://de.scribd.com/document/452954331/Altera-Nios-II-BSP-Summary