小编71G*_*1GA的帖子

ARM,Thumb和Thumb 2指令编码有什么区别?

我对指令集有点困惑.有Thumb,ARM和Thumb 2.根据我的阅读Thumb指令都是16位,但在ARMv7M用户手册(第vi页)中,提到了Thumb 16位和Thumb 32位指令.

现在我必须克服这种困惑.据说Thumb 2支持16位和32位指令.那么ARMv7M实际上支持Thumb 2指令而不仅仅是Thumb吗?

还有一件事.我可以说Thumb(32位)与ARM指令相同,它们都是32位吗?

arm thumb

33
推荐指数
4
解决办法
3万
查看次数

未定义的_sbrk引用

我遇到了_sbrk的问题.在编译的链接阶段,我使用下面的命令链接我的对象,我得到未定义的引用_sbrk.

arm-none-eabi-ld -static -T linkerscript.ld -o exe timer_example.o /home/ziga/projects/cs_lite/arm-none-eabi/lib/libc.a /home/ziga/projects/cs_lite/lib/gcc/arm-none-eabi/4.5.1/libgcc.a
Run Code Online (Sandbox Code Playgroud)

我正在为arm926ej-s编译并在ARM模式下,所以我想我选择了正确的multilib(libc.a和libgcc.a),它位于home/ziga/projects/cs_lite/arm-none-eabi/lib /文件夹中.

我一直在网上搜索_sbrk函数,它是某种内存管理调用,它不包含在标准C库中,因为它依赖于微处理器.所以我必须自己编写_sbrk函数吗?我该怎么做?你有arm926ej-s的例子吗?编写此函数后,我打算将其编译为目标文件,并将其与其他对象库连接在一起.

亲切的问候,Ziga.


我解决了这个问题并将在这里发布解决方案,所以我回馈社区.函数_sbrk位于ARM的NXP CDL包中.包可供下载(链接适用于所有不熟悉此功能的人):http: //www.lpclinux.com/Downloads/WebHome在子文件夹CDL_v005/csps/lpc313x/bsps/ea3131/source中,您将找到命名的源文件libnosys_gnu.c应该添加到项目中并编译到目标文件,之后链接到可执行文件以及其他对象和库.

祝愿和成功.

c gcc arm sbrk

13
推荐指数
3
解决办法
3万
查看次数

有没有办法在Eclipse中删除"垂直标尺"

你好我已经搜索了从eclipse中删除垂直ruller一段时间,我还没有找到任何解决方案.它甚至没有列在Eclipse的"帮助"部分中.

有谁碰巧知道,如何删除或禁用它?

eclipse

12
推荐指数
2
解决办法
6517
查看次数

'__exidx_start'和'__exidx_end'他们做了什么?

您好我有一个链接器脚本,我在其中找到了这个代码" __exidx_start = .;",它将标签值设置为位置计数器" ." 的值.此标签不在同一链接描述文件中的任何位置使用.

在第一个下方有一个类似的标签定义了几行,它的定义方式与" __exidx_end = .;" 相同.

这两个标签是边界.text.rodata部分,但我不知道为什么有人会定义这两个,如果他们没有在链接器脚本中使用?

linker-scripts

7
推荐指数
1
解决办法
4155
查看次数

make [1]中的数字[2]使[3]意味着什么?

例如,运行makefile时出现这样的错误:

make[3]: *** [/home/ziga/Downloads/openwrt/rakun_openwrt/staging_dir/host/stamp/.upx_installed] Error 1
make[2]: *** [tools/upx/install] Error 2
make[1]: *** [/home/ziga/Downloads/openwrt/rakun_openwrt/staging_dir/target-powerpc_uClibc-0.9.33.2/stamp/.tools_install_nynnn] Error 2
Run Code Online (Sandbox Code Playgroud)

make [3]中方括号中的数字是什么,make [2]make [1].我不是想解决这个棘手的错误.我只是对语法感到好奇.

makefile

7
推荐指数
1
解决办法
1857
查看次数

我如何将元素发送到后台

我有个问题.在我的网页上,我实现了一个具有绝对位置的时钟,并且干扰了我的下拉菜单.

我的时钟html代码如下,其中txt是我从JavaScript获取的参数:

<time>
     <div id="txt"></div>
</time>
Run Code Online (Sandbox Code Playgroud)

我的css代码是这样的:

time{
     border: 2px dashed red;
     font-size: 80px;
     font-family: circle;
     position: absolute;
     top: 15px;
     left: 43%;
     }
Run Code Online (Sandbox Code Playgroud)

因为时钟在我的菜单前面,我无法访问嵌套的无编号列表.如何将时钟发送到后台?

html css html5

6
推荐指数
2
解决办法
4万
查看次数

有没有办法让鼠标完全忽略html元素?

可能重复:
css规则禁用文本选择突出显示

在我的主页上,我有一个脚本,在我的主页顶部显示一个时钟.我不喜欢我可以用鼠标选择这个时钟的事实,请看图片.

所以我想知道是否有办法完全阻止鼠标选择html元素.

html css

6
推荐指数
1
解决办法
446
查看次数

将PDF嵌入网页并阻止下载

有没有办法将PDF文档嵌入网页并同时禁用下载?如果可能的话,我希望使用html5 / css3解决方案。如果没有其他办法,我会再做其他事情。

pdf html5

6
推荐指数
4
解决办法
4万
查看次数

Gnuplot和复指数

谁能告诉我如何使用gnuplot绘制复杂的指数.我尝试使用此脚本绘制它们,但i无法识别参数.

set terminal epslatex color colortext size 9cm,5cm
set size 1.5,1.0
set output "eulerjeva_identiteta_1.tex"

set style line 1 linetype 1 linewidth 3 linecolor rgb "#FF0055"
set style line 2 linetype 2 linewidth 1 linecolor rgb "#FF0055"
set style line 3 linetype 1 linewidth 3 linecolor rgb "#2C397D"
set style line 4 linetype 2 linewidth 1 linecolor rgb "#2C397D"
set style line 5 linetype 1 linewidth 3 linecolor rgb "#793715"
set style line 6 linetype 2 linewidth 1 linecolor …
Run Code Online (Sandbox Code Playgroud)

gnuplot

6
推荐指数
1
解决办法
1万
查看次数

包括Lilypond在LaTeX

在这里指出,我必须将Lilypond包含在LaTeX中,如下所示:

\documentclass[a4paper,10pt]{report}
\usepackage[utf8x]{inputenc}

\begin{document}
\begin{lilypond}
\relative c'' {
\time 4/4

< a e' a >2 
< a e' a >4
< a e' a >8
< a e' a >8 

} 
\end{lilypond}
\end{document}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为命令\begin{lilypond}没有被重新认识,所以我什么都没有.我必须包括任何包裹或什么?那个教程太草率了......

lilypond

4
推荐指数
1
解决办法
6022
查看次数

在 .c 文件旁边带有 .s 文件的 makefile

我有一个裸机项目,其中包含 .c 文件旁边的 .s 文件。我想知道如何编写一个 makefile,在那里我将 .s 文件与 .c 文件分开编译。文件位于程序的子文件夹(源、包含、启动)中。我正在做这样的事情。这个好吗?那么如何将对象链接到 exe 中呢?

SHELL := /bin/bash
ROOT := $(shell pwd)
VPATH := $(ROOT)/source:/$(ROOT)/startup:$(ROOT)/include
EXE := exe
OBJECTS_GCC := $(patsubst %.c,%.o,$(wildcard *.c))
OBJECTS_AS := $(patsubst %.s,%.o,$(wildcard *.s))
AS := arm-none-eabi-as -mcpu=arm926ej-s -Wall
GCC := arm-none-eabi-gcc -mcpu=arm926ej-s -Wall
LD := arm-none-eabi-ld -T test.ld -o $(EXE)

all: $(EXE)
$(EXE): startups sources

startups: $(OBJECTS_AS)
    $(AS) $(OBJECTS_AS)

sources: $(OBJECTS_GCC)
    $(GCC) $(OBJECTS_GCC)
Run Code Online (Sandbox Code Playgroud)

我很难找到任何包含 .s 文件和 .c 文件的示例。

问候。


这是最新版本的 makefile,其中没有找到 header.h:

SHELL := /bin/bash
ROOT := $(shell …
Run Code Online (Sandbox Code Playgroud)

linux makefile

2
推荐指数
1
解决办法
8159
查看次数

使用"cc"而不是"arm-none-eabi-as"

使用makefile构建程序时遇到问题.当make尝试编译名为"startup.S"的程序集文件时,只有一个问题.看起来make使用编译器"cc"即使我在makefile中指定"arm-none-eabi-as"(看看变量AS).

这是我的makefile:

SHELL := /bin/bash
ROOT := $(shell pwd)
INC := $(ROOT)/inc
SRC := $(ROOT)/src
STR := $(ROOT)/str
EXE := exe
AS := arm-none-eabi-as -mcpu=arm926ej-s -c -Wall -I $(INC) -I$(SRC) -I $(STR)
GCC := arm-none-eabi-gcc -mcpu=arm926ej-s -c -Wall -I $(INC) -I$(SRC) -I $(STR)
LDSCRIPT := test.ld
LD := arm-none-eabi-ld -T $(LDSCRIPT)
HEADERS := $(notdir $(wildcard $(INC)/*.h))
SOURCES_GCC := $(notdir $(wildcard $(SRC)/*.c))
SOURCES_AS := $(notdir $(wildcard $(STR)/*.S))
OBJECTS_GCC := $(SOURCES_GCC:.c=.o)
OBJECTS_AS := $(SOURCES_AS:.S=.o)
VPATH := $(STR):$(SRC):$(INC)

all : $(EXE)
    @echo konec …
Run Code Online (Sandbox Code Playgroud)

linux makefile

2
推荐指数
1
解决办法
1691
查看次数

"语法错误,此行有多个标记"?

我在C程序中有一个while循环,它应该等待系统调整单个位(bit0)ON然后继续执行.该位或"标志"位于寄存器(reg1)中.我一直在尝试使用bitwise&operator来编程,这样可以屏蔽我的寄存器.

unsigned int continue;
while(continue != (reg1 & bit0));
Run Code Online (Sandbox Code Playgroud)

我最终得到一个错误:" 语法错误,此行的多个标记,预期')'之前';' 令牌. "

c

1
推荐指数
1
解决办法
2846
查看次数

标签 统计

makefile ×3

arm ×2

c ×2

css ×2

html ×2

html5 ×2

linux ×2

eclipse ×1

gcc ×1

gnuplot ×1

lilypond ×1

linker-scripts ×1

pdf ×1

sbrk ×1

thumb ×1