我知道,与MSP430F2619与TI的CCSv4工作时,我可以得到一个以上的中断使用相同的中断处理程序的代码看起来是这样的:
#pragma vector=TIMERA1_VECTOR
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void){
ServiceWatchdogTimer();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我发现自己处于那个中断时,有没有办法弄清楚这些中断中的哪一个让我在这里?
我有一个Ti Sitara AM335x入门套件,我想在其上使用USB 3G-Modem.我正在关注这些文件:
http://processors.wiki.ti.com/index.php/Android-USB-3G-Modem-Integration&http://processors.wiki.ti.com/index.php/TI-Android-JB-4.1. 2的devkit-4.0.1_DeveloperGuide#Build_Procedure
我没有通过回购获得消息来源.我用Pre-packaged.我无法构建android linux 内核并在此命令后得到此错误
$ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage
Run Code Online (Sandbox Code Playgroud)
我尝试了很多东西,包括更改pm-firmware.bin为pm-firmware.bin.gen.o,下载准备好的内核uImage并尝试继续步骤.
我怎么能修复这个错误?
cross-compiling linux-kernel texas-instruments 3g-network android-kernel
SSE 只能在 x86 x64 CPU 上使用。我在 TI C6678 上使用 SPEEXDSP 库时遇到问题。我从来没有使用过SSE指令,我尝试了很多方法,但无法让它在DSP上工作。
是否可以将SSE指令修改为普通的C++指令?如何修改呢?期待你的答复。例子:
static inline double interpolate_product_double(const float* a, const float* b, unsigned int len, const spx_uint32_t oversample, float* frac) {
int i;
double ret;
__m128d sum;
__m128d sum1 = _mm_setzero_pd();
__m128d sum2 = _mm_setzero_pd();
__m128 f = _mm_loadu_ps(frac);
__m128d f1 = _mm_cvtps_pd(f);
__m128d f2 = _mm_cvtps_pd(_mm_movehl_ps(f, f));
__m128 t;
for (i = 0; i < len; i += 2)
{
t = _mm_mul_ps(_mm_load1_ps(a + i), _mm_loadu_ps(b + i * oversample)); …Run Code Online (Sandbox Code Playgroud) 我希望通过TI MSP430或类似设备从我的计算机控制一堆LED.
我的电脑是Macbook Air,所以看起来我唯一能与之通信的端口是USB.MSP430有一个USB端口,但除了编程芯片之外,我找不到任何有关使用USB端口的信息.有没有办法解决这个问题,使用USB与电路板通信?
谢谢!
我正在创建一个应该在TI-Nspire计算器上运行的lua脚本.问题是,在运行我的脚本时,我在调用方法Attempt to index local 'self' (a nil value)时遇到错误button:activate().解析器说错误在下面的代码中的第8行.有问题的代码如下:
button = class(view)
function button:init()
self.selected = false
end
function button:activate()
self.selected = true
end
Run Code Online (Sandbox Code Playgroud)
我像这样调用activate函数:
item = button()
local action = "activate"
local arguments = {}
item[action](unpack(arguments))
Run Code Online (Sandbox Code Playgroud)
我知道这个class()函数在"stock"Lua中不存在,它是TI-Nspire Lua实现中可用的函数.您可以在此处找到其定义和用法.
我查看了TI C/C++编译器v6.1用户指南(spru514e),但没有找到任何内容.
该asm声明在这方面似乎没有提供任何内容,手册甚至警告不要改变变量值(p132).未实现用于声明对变量的影响的GNU扩展(p115).
我也没有找到任何记忆障碍的内在因素(比如__memory_changed()Keil的armcc).
搜索网络或TI论坛也一无所获.
任何其他提示如何进行?
我花了一些时间尝试TM4C123G使用我的macbook上的mspdebug工具链连接到我的LaunchPad (10.10),但没有运气.
在尝试跑步的时候,$ mspdebug rf2500我得到了
usbutil: unable to find a device matching 0451:f432
Run Code Online (Sandbox Code Playgroud)
我做了一些谷歌搜索,在我看来,mspdebug工具包可能不适合我的LaunchPad版本.这可能吗?
检查后$ system_profiler SPUSBDataType我得到以下内容:
Product ID: 0x00fd
Vendor ID: 0x1cbe (Texas Instruments - Stellaris)
Version: 1.00
Serial Number: 0E205EE1
Speed: Up to 12 Mb/sec
Manufacturer: Texas Instruments
Location ID: 0x14100000 / 14
Current Available (mA): 500
Current Required (mA): 250
Run Code Online (Sandbox Code Playgroud)
这向我表明至少操作系统能够识别设备,对吧?如果是这样,我可以用什么其他工具链连接到设备.
由于从技术上讲,有4种循环类型(for,while,repeat和goto / lbl),使用“无限”最快的是哪一种?这是我的意思:
while 1
End
repeat 0
End
lbl 1
goTo 1
for(n, 1, [number large enough to function as practically infinite]
End
Run Code Online (Sandbox Code Playgroud)
其中哪一个是最快的,或者甚至更快?
例如,LDR r0,[r1, #4]!,r1值将变为r1+4然后负载值r0,但是,当我试图用LDR r0,[r1, r2]!,r1并没有改变.
我正在使用TM4C123GH6PGE和CCS 5.4
当有时我的代码将某个值视为已签名时,我会感到非常困惑,有时它会在比较值时将其视为无符号值.代码如何知道值是有符号还是无符号?
在尝试为我的 TI-84 PlusCE 编写程序集的过程中,我遇到了一个奇怪的“错误”。考虑以下代码:
#include "includes\ti84pce.inc"
s_mem_start = saveSScreen
.assume ADL=1
.org userMem-2
.db tExtTok,tAsm84CeCmp
;relevant portion
ld HL, s_mem_start
ld DE, 2
ADD HL, DE
ld D, H
ld E, L
ld A, (HL)
call _PutC
ld A, (DE)
call _PutC
;/relevant portion
ret
Run Code Online (Sandbox Code Playgroud)
saveSScreen是免费 ram 的一部分。_PutC是一个 rom 调用,将 的值打印A到屏幕上。请参阅此图表:http : //tibasicdev.wikidot.com/83lgfont。我已经确认_PutC不会影响任何寄存器。这段代码在屏幕上的输出是v[CursorInsertSecond]. (CursorInsertSecond 是计算器上的一个字符)。这些等效于十六进制03或73和E5。我不知道 v 是常规 v 还是斜体 v。
显然(HL), …