问题标签 [nxp-microcontroller]
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 - 从哪里开始 ARM Cortex-A 编程
我有使用 Cortex-M 控制器(NXP 的 LPC 系列)和 Keil 的经验。我想为 cortex-A 移动,因为我的逻辑需要更快的速度。
我从互联网上发现这些处理器将附带 linux。我怎样才能直接使用我的代码而不是使用 linux?
我不需要 IO 引脚。
我应该从哪里开始??我应该使用什么IDE?而且我发现 Cortex-A 控制器的调试很困难,因为它涉及操作系统。是真的吗?有没有什么方法可以不使用皮质 A 而实现更高的速度(大约千兆赫兹)
nxp-microcontroller - Unable to find MQX 4.2.0.1 / 4.2.0.2
I am trying to download patches 4.2.0.1 or 4.2.0.2 for NXP MQX 4.2.0 operating system. However, it seems that all links have been removed by NXP and that now they make available only MQX 5 (upon payment).
I am particularly interested in this bug fix:
MQX-5540 - Added checking of the heap low address and the heap high address against the memory address 0x20000000 to see whether the global variables reside on that address and issue warning to the user. - Affects all BSPs.
I would be very grateful if someone has a link to or can make available sources for 4.2.0.1 / 4.2.0.2 or at least the piece of code for bug fix MQX-5540. Thank you!
linux - 如何分析和调试在运行应用程序时发生的 Linux 内核恐慌?
在我的自定义硬件设计上运行 linux 应用程序时,我遇到了内核恐慌。但是另一个与此类似的自定义硬件可以毫无问题地运行这个 linux 应用程序。我为这块板做了内存校准和压力应用测试。但是没有任何与内存有关的问题。那么我该如何调试它以澄清这是硬件还是软件问题。我可以正确使用 JTAG 调试内核和 uboot。但是,在运行某些应用程序时,如何查明此内核恐慌的问题?
这是恐慌消息(LOG)
如果你能在这个问题上指导我,我必须感谢你。在 linux 上运行应用程序时,是否有任何硬件调试方法可以查明与此相关的问题?
问候,库鲁努。
c - 擦除和写入闪存会在构建时出错
我正在用 C 语言为 NXP 飞思卡尔 kinetis 微控制器 KEA128 编写程序。我修改了链接器描述文件并继续用 C 编写一个简单的 C 程序。但是当我构建项目时,它给出了以下错误消息
在这里,我附上了我的 C 程序文件和调用用于擦除和写入闪存的函数的主文件以及我的链接器描述文件。以下是我的 flash.c 和 flash.h 文件
这是我的 flash.h 文件
这是我的主文件 int main(void) { long int value; uint8_t flashStatus;值 = 2147483648;
这是我的链接器描述文件:
/*
c - 从 RAM 而不是闪存运行代码块
在下面的程序中,这行代码是什么意思
在下面的代码部分。我对这里发生的事情有一些想法,为了克服读写冲突,使用上面的代码行将代码从闪存复制到 RAM。但是这些行的确切含义是什么。
需要在 RAM 中的唯一代码是:
c - C交叉编译:sprintf仅在大小为[512][4]数[111][1]的数组初始化为0后写入“\0”字符
这是胡桃夹子。在 ubuntu 16.04 上交叉编译 NXP imx.6 使用 gcc-arm-none-eabi-5_2-2015q4 进行编译。使用 jlink 基础进行调试。代码编译并运行没有错误,但输出错误。
编码:
文件:uart_print.c
文件:myfile.c
那个 for 循环中发生了一些事情,它扰乱了 sprintf 函数。因此,我尝试在 for 循环中使用 sprintf:
调试器输出:
str = 123456789 if myarray[0 - 110][0-3] = 0 and myarray[111][0] = 0
str = \023456789 if myarray[111][1] = 0
并且总是在这之后;
设置sprintf
后将永远无法正常工作myarray[111][1] = 0
如果我删除myarray[111][1] = 0
myarray[111][2] = 0
将使sprintf write str=1234\06789
,这里只写前 4 个符号。
我无法弄清楚连接,内存有问题吗?他们是否覆盖了一些重要的寄存器。鉴于我已经为此花了两天时间,现在非常欢迎任何意见?
nxp-microcontroller - 我必须用计时器编写调度程序
我们使用的是 S12XEA100 微控制器。我们没有任何操作系统。我们必须实现 Scheduler 和 Timer 来运行一些任务。我不知道从哪里开始以及需要注意什么。
你能帮我解决这个问题吗
提前致谢, Harshitha
c - linux内核移植中的问题,卡在paging_init函数中
参考板:i.mx6q sabresd,内核版本:4.9.17
上面的日志来自一个工作的 sabresd 板。我的源代码取自 nxp 的 android O 源代码。
我在我们的定制板上移植了 android,它类似于 sabresd 并且基于 imx6q 。我移植的内核卡住了。这是日志,
两个板都配置为 vmsplit_3g。
由于某些我无法找到的问题,我的 setup_arch 调用未完成,这是调用流程
一件事我无法理解此功能的去向
我在函数 flush_tlb_kernel_range 中的 local_flush_tlb_kernel_range(start, end) 调用上方打印的开始和结束。
在我的情况下,在 nxp saber 的情况下,这是 local_flush_tlb_kernel_range 变为
所以我认为内核flush_kern_range中的某个地方会被定义,但我找不到那个定义
由于两个工作区不同,我的日志中有一些额外的##DEBUGfile.c。
我的想法是 setup_arch 与我的板子特定功能无关,它是对所有 arm 架构的通用调用。
我试图将 sabresd dtb 放在 uboot 中,这样如果在其中完成与内存相关的事情,至少会发生很多初始化,结果与此相同。
试图放置 pr_info 直到我找不到函数 flush_kern_range 的定义。在 nxp sabre 中,这个函数被一次又一次地调用。
任何人都可以帮助我解决一些问题。
timer - FreeRTOS 软件计时器 (taskSCHEDULER_RUNNING) 故障
硬件:NXP M4 MKE14
软件:MCUXpresso 10.1.1
一个软件定时器的实现非常顺利。当启动第二个定时器时,微控制器不再响应。我收到错误消息“taskSCHEDULER_RUNNING”。但如果这不运行,系统不会做任何事情。
我实现了定时器和一个这样的任务:
java - NXP NFC NDEF 标签内存大小问题
我正在使用 NXP 提供的 NXP NDEF 标签和 NFC 标签写入器应用程序,但在索尼手机应用程序中显示内存为 524 字节,但在 MOTO 手机中显示为 52 字节内存。我正在寻找解决方案而不是时间,但没有解决它。请帮我找出来。
我使用以下代码来读取内存:
对于我使用的写入数据