问题标签 [texas-instruments]
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 - 将虚拟地址映射回物理地址
免责声明:我有点在德州仪器论坛上交叉发布这个问题,但我已经五天没有得到任何回复。我对嵌入式编程很陌生,所以请指出您是否需要更多信息或者我的方法是否荒谬。
动机
我有一个带有德州仪器 ( Texas Instruments) 的 DM3730 处理器的嵌入式设备(与 Beagleboard -xm 上的处理器相同)该处理器通过其显示子系统 (DSS) 连接到 LCD 显示器。显示屏看起来很暗,必须进行伽马校正。幸运的是,DSS 有一个 Palette/gamma 查找表。不幸的是,我无法让它工作。
我发现了什么
我在德州仪器论坛上发现了类似处理器的类似问题,TI 员工给出了以下解释(强调我的):
我认为当前的 Linux 内核不支持彩色索引图形,但是通过直接寄存器配置从应用程序级别启用它相当容易。
[...]
接下来,声明一个由 256 个无符号整数组成的数组,并为每个颜色索引条目填充所需的 RGB 值。
将 DISPC_GFX_TABLE_BA 设置为先前配置的数组的物理地址(注意 1,这需要物理地址而不是虚拟地址,因此您可能需要将其映射回来。注意 2,这需要是 32 位对齐的地址,因此取决于数组是如何创建的,可能需要创建一个稍大的 char 数组并填充数组,以使起点位于 32 位边界上)
[...]
他后来提到mem_util来转换地址,我能够使用它直接从应用程序级别(用户空间)写入寄存器,但我无法弄清楚如何将虚拟地址“映射回”物理地址。
系统信息
我的问题
- 如何将虚拟地址映射回物理地址?
- 这可以在用户空间中完成吗?(我设想我提供一个用户可以调整伽玛曲线的界面)
- 一般来说,这是正确的方法吗?我应该把它移到内核空间吗(我不愿意这样做,因为我对 Linux 内核没有很多经验)
- 任何好的资源或例子!
bluetooth - CC2540 USB - 可发现:尚未准备好执行任务
我在外围模式下使用 TI CC2540 USB 加密狗,并希望使用 BTool 启用广告,但设备正在回答:
未准备好执行任务
我知道可以在应用程序代码中设置初始广告启用,但我想手动设置广告,有人可以帮忙吗?这是BTool的日志:
nfc - Mifare Classic 4K 身份验证失败 - 如何使其工作?
我对 14443A 协议和 mifare Clasic 4k 标签非常陌生。我有一个 TRF7960A RFID 阅读器连接到我的设备,它在读取固件版本后支持 Mifare 模式。
我从我的供应商那里得到了一些信息,但我仍然面临身份验证问题。
我已将发送和接收的命令粘贴在下面。
任何人都可以帮助我了解如何创建数据包吗?
提前致谢
杰辛
设置为 Mifare 模式
发送:0108000304FD00000 返回:108000304FD0000
固件版本 3.3[Mode Mifare]
设置协议
发送:010A0003041000010000 返回:010A0003041000010000 寄存器写入请求。
发送:010C00030410002101080000 返回:010C00030410002101080000 寄存器写请求。
发送:0109000304F0000000 返回:0109000304F0000000
发送:0109000304F1FF0000 返回:0109000304F1FF0000
扫描卡UID
发送:0109000304A0010000 返回:0109000304A0010000 14443A REQA。(0200)(DB24C7A69E)[DB24C7A69E]
收到的 UID 是 DB24C7A69E
验证块 04 密钥为 FFFFFFFFFFFF UID 为 DB24C7A69E
发送:010A0003041850000000 返回:010A0003041850000000 请求模式。[]
发送:010D000304A2DB24C7A69E0000 返回:010D000304A2DB24C7A69E0000 14443A 选择。(0200)[18]
发送:010E000304C0FFFFFFFFFFFF0000 返回:010E000304C0FFFFFFFFFFFF0000 Crypto1 设置密钥。初始化正常
发送:010F000304C16004DB24C7A69E 0000 返回:010F000304C16004DB24C7A69E 0000 Crypto1 认证步骤 1。!!接收到 00 字节和 00 位,预期为 4 字节和 0 位。中止
发送:010C000304C23D6E98990000 返回:010C000304C23D6E98990000 Crypto1 认证步骤 2.ý
读取块 04 数据
发送:010A000304C830040000 返回:010A000304C830040000 加密请求模式。!!密码未初始化。中止
写块04写数据12345678123456781234567812345678
发送:010A000304C8A0040000
返回:010A000304C8A0040000 加密请求模式。!!密码未初始化。中止
发送:0118000304C8123456781234567812345678123456780000 返回:0118000304C8123456781234567812345678123456780000 加密请求模式。!!密码未初始化。中止
assembly - 创建自定义 TI 84 plus 图形计算器操作系统 (OS)
我正在开始一个项目,我将在其中创建/编辑标准 TI 84 Plus Calculator OS。我打算只改变一些减慢速度并且对我来说不是必需的东西。(例如:绘图时的渐近线检查,“PrettyPrint”或“MathPrint”选项)我还想在我关闭计算器时添加一个简单的密码保护屏幕,以防止数据被盗。
我熟悉“基本编程”。我在 TI Basic(计算器编程)方面非常熟练,并且在 Java 和 ASM 方面有一点编程经验,尽管我使用的唯一汇编代码是在 TI 84 Plus 图形计算器上......我也在寻找更多信息作为我应该着手制作这个新操作系统的方式。
有用的链接:
来自另一个酷网站的更多 TI Calc 内容:手动链接
- SmileyOS - 这是我以前见过的一个简单的自定义操作系统,所以我知道可以做一些类似于我所描述的事情。
我正在寻找对这个主题有更多了解的人给我一些提示,并引导我朝着正确的方向前进。我确实希望能够自己做一些工作,所以我没有要求任何人为我做这些工作,只是一路上帮助我提供建议。
embedded - TI OMAPL137 U-Boot 错误:“未找到以太网。”
我正在尝试启动一个 DA830 REV A 板,该板是用未加载 Linux 的 U-Boot 发送给我的。我能够构建 DaVinci Linux 和根文件系统,现在我想使用 tftp 加载 Linux。我启动了开发板,但收到“未找到以太网”的错误消息。以下是董事会的启动内容:
我发现一个论坛提示未设置以太网地址,我检查了:
而且确实没有设置。我尝试使用以下设置它并收到错误:
我还尝试使用以下设置它,但它仍然没有设置:
我不知道下一步该尝试什么。也许我的交换机配置不正确??
c - 需要关于带有 ATmega32-A 微控制器的 AD9833 波形发生器的帮助
我正在尝试使用带有 ATmega32-A 微控制器的可编程波形发生器 AD9833 生成正弦波。(MCLK = 8MHz 时钟频率)。我正在使用 USART 通信,因此如果我在超级终端中更改频率,则必须更改波形频率。我为此编写了小代码,如下所示。
但是从上面的代码中,我正在生成正弦波,但是如果我想将信号频率更改为 125KHz,那么我必须在超终端输入 499.9KHz。如果我输入 125KHz,那么它显示的是 31.2KHz。我不知道它为什么会这样产生以及我犯了什么错误?而且它正在改变波形直到 500KHz 频率假设如果我输入大约 1000KHz 的波形频率,但信号的频率没有变化,它只显示 125KHz。
最后我想生成不同频率的波形。如果我在超级终端或腻子上改变频率,那么我输入的任何频率都必须生成具有该频率的波形。
这是我的第一篇文章,如果有任何语法错误,请见谅。
提前致谢。
嗨再一次,
这次我尝试通过 SPI 使用 SM470R1B1M-HT 微控制器对 AD9833 进行编程。我遵循与下面的“ross”解释的相同原则。看来我无法改变正弦波频率。下面是我正在尝试的代码,我设置了与以前相同的时钟配置。
c - 如何为 TMS320F2812 DSP 编写内存屏障?
我浏览了 TI C/C++ 编译器 v6.1 用户指南 ( spru514e ) 但没有找到任何东西。
该asm
声明在这方面似乎没有提供任何内容,手册甚至警告不要更改变量值(p132)。未实现用于声明对变量的影响的 GNU 扩展 (p115)。
我也没有发现任何内存屏障的内在特性(比如__memory_changed()
在 Keil 的 armcc 中)。
搜索网络或 TI 论坛也一无所获。
任何其他提示如何进行?
c - 如何从电机控制板下载代码?
我有一个步进电机控制板,我想知道是否可以将代码从板上下载回 PC。该板是带有 ARM 微控制器的 Luminary Micro Stepper Motor Control RDK。
bitmap - 手臂控制器 lm3s8962
你好,
我是嵌入式编码的新手。我正在研究 ARM lm3s8962 控制器。
谁能向我解释下面的代码在做什么?它正在实现位撞击,但我想知道它是如何实现的。
api - 创建 ZigBee 网络
对于学校项目,我们的客户希望我们使用德州仪器 cc2531 或 XBee 创建一个 ZigBee 网络。我们有一个带有一些来自 Cleode 的传感器的 CC2531。在他们的名为 cleobee 的程序中,一切正常。连接是自动建立的,我们只需打开传感器即可建立连接。
现在我们想使用 CC2531 连接传感器而不使用 Cleode 程序。有没有简单的方法来建立网络?有我们可以使用的 API 吗?我们找到了 zTool,我们可以在其中监控 cc2531 的使用情况,但我们真的不知道我们还能用它做什么。
此外,我们想将 Olimex mod-zigbee-pir 传感器与它连接起来。我们可以用与其他传感器相同的方式来做到这一点吗?
有什么软件可以让我们这样做吗?