首页 文章
  • 9 votes
     answers
     views

    使用gdb / gdbserver逐步调用库调用

    我有一个通用的gdb / gdbserver问题 . 我正在尝试使用主机上的gdb和远程目标上的gdbserver调试arm linux嵌入式应用程序 . 我可以在main的开头逐步执行代码行 . 但是,在调用共享库函数之后,gdb(或gdbserver)似乎会丢失 . 即使我在调用后设置断点并使用continue,它也永远不会遇到断点 . 我知道我在共享库中没有符号,并且实际上并不关心它们 . ...
  • 9 votes
     answers
     views

    arm-linux-gnueabihf-gdb与gdb-multiarch

    我正在尝试从x86计算机到远程ARM设备执行跨平台远程调试 . (例如:Beagle Bone Black) 我正在使用Ubuntu 14.04和Eclipse CDT . 我安装了包 gcc-arm-linux-gnueabihf 但gdb调试器不在该包中 . (http://packages.ubuntu.com/precise/gcc-arm-linux-gnueabihf) 因此,我想...
  • 0 votes
     answers
     views

    共享内存的页面缓存

    在顶部第4张图片中的以下链接中: http://duartes.org/gustavo/blog/post/page-cache-the-affair-between-memory-and-files 描述的场景是共享文件的两个进程"render"和"3drender" . 作者将描述共享机制如何与页面缓存一起播放 . 最初渲染将其虚拟页面映射到页面...
  • 0 votes
     answers
     views

    C:无法识别或不支持的阵列类型 - opencv ARMminipc

    我想创建简单的C程序来显示来自webcam的输出 . 这是我的专业文件: QT += core QT -= gui TARGET = camera CONFIG += console CONFIG -= app_bundle PKGCONFIG += opencv TEMPLATE = app SOURCES += main.cpp LIBS += -lopencv...
  • 23 votes
     answers
     views

    MIPS处理器:它们还在使用吗?我应该学习哪种其他架构?

    我用汇编语言为x86和x86-64编程了几个月 . 现在,我想转向一些不同类型的处理器 . MIPS,SPARC,PowerPC,Itanium,ARM这些我发现ARM正在使用 widely . 但是,我看到教程和书籍的书籍比其他所有架构更能讲授MIPS . 为什么MIPS如此受欢迎? MIPS处理器是否仍在使用?我应该选择哪种架构? 我的背景: 我是电子部门的学生 . 我也是一名高级程序员 ....
  • 9 votes
     answers
     views

    仿真ARM汇编程序环境?

    我希望我的儿子学习ARM汇编程序,我正在考虑给他买一个他可以编程的嵌入式系统,这样他就可以制作LED闪光灯和其他很酷的东西,这些都是我小时候玩的 . 是否有任何模拟或虚拟“工作台”在PC上提供这种类型的编程环境而不使用实际硬件?我很想让他开始使用ARM,因为这些芯片似乎出现在所有新设备中,如手机等 .
  • 0 votes
     answers
     views

    在启动时启动python脚本 - Raspbian

    我有一个python脚本 . 该脚本本质上是我自己的桌面/ UI . 但是,我想用我自己的版本替换默认的Raspbian(Raspberry Pi Linux发行版)桌面环境 . 我该怎么做: 禁用默认桌面和 启动时启动我的python脚本(全屏)? 这是在Raspberry Pi上运行debian linux的修改版本 . 提前致谢! (编辑:我尝试在/etc/init.d目录中创建...
  • 28 votes
     answers
     views

    'bank'寄存器是什么意思?

    在维基百科上阅读“ARM架构”并发现以下声明: 寄存器R0-R7在所有CPU模式下都相同;他们永远不会存钱 . 除系统模式外,R13和R14在所有特权CPU模式下进行存储 . 寄存器是什么意思?
  • 2 votes
     answers
     views

    为什么ARM管理员模式有自己的堆栈?

    我正在使用Atmel AT91SAM7S微控制器,看起来IRQ处理程序应该在管理程序模式下执行,而主循环代码在系统模式下执行 . 另外,我应该保留一部分RAM用作管理员模式代码的堆栈 . 我从演示程序获得的启动程序集代码默认保留128个字节 . 为什么我必须为管理员模式保留单独的堆栈空间;为什么它不能只使用相同的堆栈作为系统模式(主)?具有与主循环代码完全不同的堆栈的中断处理代码有什么好处?我看到...
  • 0 votes
     answers
     views

    当我降低cpu的时钟速率时,中断延迟(或中断延迟中的抖动)会发生什么

    我正在ARM cpu上运行一个裸金属程序,它正在处理实时应用程序的中断 . 功率也是一个约束,所以我正在考虑使用特定CPU的频率 . 有没有一种方法可以预测变化(中断延迟或中断延迟中的抖动),当我改变频率时,我可以预期 . 我知道我可以通过实现和测量它来手动完成这个,但我想知道是否有逻辑或数学方法来做到这一点 . 谢谢 . 问候,N
  • 0 votes
     answers
     views

    ARM低级中断处理 - 我的链接寄存器被杀死

    目标:ARM Cortex-A9编译:GCC 4.9.2 大家好, 我有一个带有中断服务程序的程序,它处理每200ms周期性发生的中断.ISR本身调用一些子程序,这意味着,它使用链接寄存器LR . 我的ISR执行正确,但是,我的程序在几秒钟后总是崩溃 . 原因如下: 当主程序使用链接寄存器(BL命令)调用子程序然后被中断时,链接寄存器的内容似乎在中断之前被指令地址覆盖 . 现在当主程序在ISR之后...
  • 1 votes
     answers
     views

    如何在Linux中禁用中断

    我使用mini2440 arm板和GPIO来控制与GPIO连接的硬件 . 我正在使用随板卡的CD一起提供的BSP . 我只启用了运行硬件所需的功能 . 我已经禁用了内核中的音频,以太网和不必要的东西,因此它不会引起中断而引起CPU的注意 . 但问题是有时GPIO会发生一些中断,硬件会出现故障 . 我知道我可以通过cat / proc / interrupt看到所有中断,但我怎么知道GPIO从哪个设...
  • 4 votes
     answers
     views

    关于手臂指令时间

    在手臂网站上,提供了 Cortex-a9 processor 的指令时间 . Instruction Link 对于每条指令(具体来说,我说的是NEON向量指令),时序在下面显示的格式表中给出(以VADD指令为例): NAME FORMAT Cycle Source Result Writeback VADD Dd,Dn,Dm 1 -...
  • 2 votes
     answers
     views

    如何防止ARM编译器5 armcc内联汇编程序中的LDM / STM指令扩展?

    我正在尝试使用ARM编译器5 armcc编译的.c文件中的内联汇编中的STM / LDM指令生成AXI总线突发访问 . inline void STMIA2(uint32_t addr, uint32_t w0, uint32_t w1) { __asm { STMIA addr!, { w0, w1 } } } 但ARM编译器armcc用户指南第7.18段说:“...
  • 4 votes
     answers
     views

    读取cortex-m3上的64位易变量

    我在32位Cortex-M3 ARM控制器(STM32L1)上有一个64位整数变量,可以通过中断处理程序异步修改 . volatile uint64_t v; void some_interrupt_handler() { v = v + something; } 显然,我需要一种方法来访问它,以防止获得不一致的,中途更新的值 . 这是第一次尝试 static inline uint64...
  • 3 votes
     answers
     views

    arm64缓存可以从EL0刷新吗?

    我正在阅读一篇学术论文,其中指出“ARM体系结构还包括驱逐缓存行的指令 . 但是,这些指令只能在处理器处于提升权限模式时使用 . ” 真的吗?我在"ARM Cortex-A Series Programmer’s Guide for ARMv8-A"章11.5 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc...
  • 3 votes
     answers
     views

    我的中断处理程序是应该禁用中断还是ARM处理器自动执行?

    我们小组正在使用自定义驱动程序在共享I2C总线上连接四个MAX3107 UART . 四个MAX3107的中断通过ARM9处理器(LPC3180模块)上的GPIO引脚连接(即通过逻辑或电路共享中断) . 当这些器件中的一个或多个中断时,它们将配置为电平敏感中断的GPIO线拉低 . 我的问题是否需要禁用处理程序代码中的特定中断行 . (我应该补充一点,我们正在运行Linux 2.6.10) . 基...
  • 0 votes
     answers
     views

    如何监控/排除调制解调器串行编程和通信?

    我正在为之工作的公司拥有自己的ARM嵌入式设备,目前我正在启动一个与拨号调制解调器通信的项目 . 调制解调器和设备将通过串行TXD和RXD端口连接 . 我的问题是,如何解决ARM设备和调制解调器之间的通信故障?例如,在开始使用ARM设备之前,我通过TTL USB连接器将调制解调器连接到笔记本电脑,并使用Putty将命令发送到调制解调器 . 我知道如何使用ARM设备软件向调制解调器发送命令,但是AR...
  • 1 votes
     answers
     views

    在Bootpimage的情况下,initrd是否真的减少了内核映像的大小?

    根据维基百科关于initrd“ Many Linux distributions ship a single, generic kernel image - one that the distribution's developers intend will boot on as wide a variety of hardware as possible. The device drivers ...
  • 3 votes
     answers
     views

    在Nvidia Jetson TK1上安装haskell平台(ARM架构)

    在Jetson TK1上运行 lsb_release -s -d 给了我 Ubuntu 14.04 LTS 所以我尝试了 sudo apt-get install haskell-platform 和 sudo apt-get install ghc ,并且我得到一个错误,它无法找到包 . 所以我启用了Universe存储库,就像我在stackoverflow帖子上看到的那样为ubuntu 14....
  • 6 votes
     answers
     views

    我可以将arm-eabi与arm-elf混合使用吗?

    我有一个产品,使用编译器(gnuarm GCC 4.1.1)编译引导加载程序和应用程序,生成“arm-elf” . 引导加载程序和应用程序在链接描述文件的不同FLASH存储区中分隔 . 该应用程序具有一个功能,使其能够调用引导加载程序(作为一个带有2个参数的简单c函数) . 我需要能够升级世界各地的现有产品,并且我可以使用始终相同的编译器安全地完成此操作 . 现在,我希望能够使用输出arm-eab...
  • 2 votes
     answers
     views

    AOSP中的工具链

    我正在研究AOSP 4.0.4分支并为PandaBoard平台做一些自定义 . 我正在研究用于构建Android文件系统映像的ARM交叉工具链,我看到了两个主要变体 . arm-eabi-4.x (set in ARM_EABI_TOOLCHAIN env var) arm-linux-androideabi-4.x (set in ANDROID_EABI_TOOLCHAIN env var) ...
  • 7 votes
     answers
     views

    基于ARM的嵌入式Linux系统的交叉编译

    我尝试为嵌入式(自定义)基于ARM的Linux系统编译一些C代码 . 我用一个名为arm-linux-gnueabi-gcc-4.4的交叉编译器设置了一个Ubuntu VM,因为它看起来像我需要的东西 . 现在,当我用这个gcc编译我的代码时,它产生一个像这样的二进制文件: $ file test1 test1: ELF 32-bit LSB executable, ARM, version 1 ...
  • 3 votes
     answers
     views

    用于ARM U-Boot构建问题的交叉工具链

    我正在尝试为Raspberry-Pi构建自己的工具链 . 我知道有很多预建的工具链 . 这项工作是出于教育原因 . 我从头开始关注嵌入式arm linux . 到目前为止成功构建了gcc和uClib . 我正在为目标arm-unknown-linux-eabi构建 . 现在谈到准备一个可启动的文件系统我正在质疑自己的引导程序构建 . 有关此系统的引导加载程序的部分似乎不完整 . 现在我在质疑自己如...
  • 1 votes
     answers
     views

    如果工具链未知,则编译嵌入式系统的C程序

    我有一个C程序,我想在(旧)自定义嵌入式平台上进行基准测试 . 问题是我只有硬件而不是工具链来编译这个平台的程序 . CPU是Atmel AT91SAM9260(ARM),运行嵌入式Linux,我可以完全访问它 . 我从嵌入式系统下载了一个程序,并使用'readelf -h ...'分析其格式: ELF Header: Magic: 7f 45 4c 46 01 01 01 61 00 ...
  • 6 votes
     answers
     views

    C / C裸机编译和特定操作系统(Linux)编译之间有什么区别?

    假设您有一个交叉编译工具链,它为ARM体系结构生成二进制文件 . 您的工具链是这样的(在使用Linux的X86_64机器上运行): arm-linux-gnueabi-gcc.exe:用于Linux的交叉编译,在ARM上运行 . arm-gcc.exe:用于针对ARM的裸机交叉编译 . ...以及用于ARM交叉编译的大量其他工具 . 我感兴趣的点是: (E)二进制文件之间的ABI差异...
  • 1 votes
     answers
     views

    为什么arm-linux-gnueabi-gcc甚至无法编译简单的测试文件?

    我使用以下方法在我的Ubuntu系统上安装了交叉编译工具: sudo apt-get install gcc-arm-linux-gnueabi binutils-arm-linux-gnueabi 然后我制作了简单的.c文件,编译好了,但是当gcc运行汇编程序阶段时,由于未知的原因调用'as'命令,而不是适当的'arm-linux-gnueabi-as'命令,结果编译失败以下错误: arm-l...
  • 0 votes
     answers
     views

    我想远程运行linux程序并使用C#或类似语言返回输出

    我正计划获得我的学位 . 在这个项目中,我将使用一个装有特定linux发行版的ARM板 . (目前基于Debian或Ubuntu . ) 此ARM板将使用WiFi或有线LAN或两者的组合或多个WiFi连接坐在网络上 . 我将使用可能运行Windows的PC来访问此ARM板 . 由于此设置意图的性质,我将不使用LAN连接来控制ARM板,而是使用从PC到板的USB连接 . 我在Android平板电脑...
  • 0 votes
     answers
     views

    ARM程序集中的矩阵乘法

    ARM组装课程最近在我的大学开始,或者分配是创建一个NxM * MxP矩阵乘法程序,从C代码调用 . 现在我对assambler的知识相当有限,但我更愿意学习 . 我想知道的是: 如何从C读取/传递2D数组到ASM? 如何将2D数组输出回C? 我在想,我可以自己解决剩下的问题,但这两点是我觉得很困难的 . 我在qemu上使用ARM程序集,在Ubuntu上使用此代码,它不会在任何特定设备...
  • 0 votes
     answers
     views

    为什么内存指令在ARM汇编中需要4个周期?

    诸如ldr,str或b之类的存储器指令在ARM组件中各占4个周期 . 是因为每个内存位置长4个字节?

热门问题