问题标签 [arm7]

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.

0 投票
5 回答
13350 浏览

gcc - ARM7的Keil vs GCC?

对于 ARM7 开发,Keil 与 GCC 相比如何?我正在为一个中型项目选择硬件顾问,有些使用 keil,有些使用 gcc。我想知道任何一种选择所涉及的问题......

0 投票
3 回答
822 浏览

vga - 使用 ARM7 的 VGA 视频

我需要从 AT91SAM7SE512 输出一个 VGA 信号。如何在不使用额外控制器的情况下做到这一点?我在网上看到了一些东西,但它需要能够修改特定的像素。

0 投票
1 回答
174 浏览

gcc - ARM7中的GPS应用

我正在使用 ARM7 微处理器在 Linux 下开发 GPS 应用程序。

你推荐哪个编译器?您知道是否有任何带有库的工具包可用于开发 GPS 应用程序?

我的一个朋友推荐了 gcc……你们怎么看?

谢谢

0 投票
1 回答
9733 浏览

embedded - 向量中断控制器(VIC)如何有效处理外部中断?

我想知道VIC如何有效地处理外部中断

0 投票
2 回答
3001 浏览

embedded - Porting newlib to a custom ARM setup

this is my first post, and it covers something which I've been trying to get working on and off for about a year now.

Essentially it boils down to the following: I have a copy of newlib which I'm trying to get working on an LPC2388 (an ARM7TDMI from NXP). This is on a linux box using arm-elf-gcc

The question I have is that I've been looking at a lot of the tutorials talking about porting newlib, and they all talk about the stubs (like exit, open, read/write, sbrk), and I have a pretty good idea of how to implement all of these functions. But where should I put them?

I have the newlib distribution from sources.redhat.com/pub/newlib/newlib-1.18.0.tar.gz and after poking around I found "syscalls.c" (in newlib-1.18.0/newlib/libc/sys/arm) which contains all of the stubs which I have to update, but they're all filled in with rather finished looking code (which does NOT seem to work without the crt0.S, which itself does not work with my chip).

Should I just be wiping out those functions myself, and re-writing them? Or should I write them somewhere else. Should I make a whole new folder in newlib/libc/sys with the name of my "architecture" and change the target to match?

I'm also curious if there's proper etiquette on distribution of something like this after releasing it as an open source project. I currently have a script which downloads binutils, arm-elf-gcc, newlib, and gdb, and compiles them. If I am modifying files which are in the newlib directory, should I hand a patch which my script auto-applies? Or should I add the modified newlib to the repository?

Thanks for bothering to read! Following this is a more detailed breakdown of what I'm doing.


For those who want/need more info about my setup:

I'm building a ARM videogame console based loosely on the Uzebox project ( http://belogic.com/uzebox/ ).

I've been doing all sorts of things pulling from a lot of different resources as I try and figure it out. You can read about the start of my adventures here (sparkfun forums, no one responds as I figure it out on my own): forum.sparkfun.com/viewtopic.php?f=11&t=22072

I followed all of this by reading through the Stackoverflow questions about porting newlib and saw a few of the different tutorials (like wiki.osdev.org/Porting_Newlib ) but they also suffer from telling me to implements stubs without mentioning where, who, what, when, or how!

0 投票
2 回答
2829 浏览

assembly - 如何在 ARM7 汇编器中有效地右转 64 位值?

ARM7 命令集提供了在汇编程序中将 32 位值右旋转任意量的有效方法。对于操作的第二个操作数,它甚至可以通过将ror #n指定为移位器操作数来“免费”,但对于 64 位整数,指令集没有直接支持。除了旋转 1、31、33 或 63 位位置的特殊情况(更不用说 0 或 32),我只知道如何使用4条指令旋转 64 位值(很简单,所以我不写在这里)。在四种特殊情况下,我可以将其减少到三个指令,但我不知道一般情况下该怎么做。所以这是我的问题:

给定两个寄存器(例如 R0 和 R1)中的 64 位值,是否可以仅使用三个ARM7 指令将该值右旋转n 个位置(对于任意n) ?

0 投票
2 回答
3053 浏览

assembly - 试图理解一条ARM7的流水线

我有这条装配线:

使用 PC = 0x01000AD8

R3 = 0x00000008

CDPS = 800000D3 (所以 C=0, Z=0)

当我执行这一行时,PC 的新值应该是(如果我正确理解 LDRLS*)

PC = 0x01000AD8 + 0x00000008 * 4 = 0x01000AF8

但结果却是 0x00000BAC

为什么?

也许我可以补充一点,执行此行代码时会激活 MMU。

PS *我在研究中没有找到LDRLS中“LS”的含义......

编辑:添加 CPSR 值

0 投票
1 回答
276 浏览

performance - ARM7 Cortex A8 上的浮点状态传输

有一个对比:

其中 val0 和 val1 是双变量。

Apple LLVM 编译器生成的代码是

有没有办法避免这种转移?

[更新] 代码在 Cortex-A8 处理器上运行。

0 投票
1 回答
420 浏览

assembly - arm7tdmi IRQ 和 FIQ 优先级

您好,我目前正在使用在“裸机”上运行的 AT91SAM7X256。我已经彻底阅读了数据表和架构手册,考虑到这一点,我得出的结论是 FIQ 的优先级高于 IRQ,因此 FIQ 不应被 IRQ 抢占

但是在实践中,我注意到 IRQ 暂停了我的 FIQ 处理程序的执行,即使我没有触及 CPSR 中的 F 位。假设不应该暂停 FIQ 以服务 IRQ 是否不正确?

我需要做些什么来确保我的 FIQ 服务程序不会被中断?

谢谢

0 投票
1 回答
459 浏览

linux - 开始使用此 ARM7 板

这个坏小子最近上岗了。但是,没有任何说明、CD-ROM 或开发工具包的东西。

尽管缺乏说明,但我很确定我们应该能够使用 DS-5、JTAG 电缆和嵌入式 linux 来实现它。目标是在其上运行一个小型 Web 服务器/站点。

这是一块带有 SEP 4020 ARM7 芯片的 UB4020EVB 板。具有 JTAG、USB 和以太网连接。

有谁知道a)我需要什么硬件套件来启动它并在操作系统上运行,b)如果我们需要任何特定的JTAG电缆。

任何帮助表示赞赏。

谢谢!

在此处输入图像描述