我想确保我的/ proc/cpuinfo是准确的.它目前输出
Hardware : am335xevm Revision : 0000 Serial : 0000000000000000
我可以在代码中将其更改为实际值吗?
GFP标志用于内存分配.Linux内核中GFP_HARDWALL标志的用途是什么?
我有以下锁定.这是否表明slic_test pid 5207是罪犯,或者它是否只显示,因为内核中的当前宏仍然指向使系统调用我的驱动程序的用户空间进程?此外 - irq事件标记0 ... irq事件标记到底代表什么?自开机以来它不能是中断数...在88798秒后肯定超过0 ...
系统是单处理器,禁用CONFIG_SMP.
[88798.449628] BUG: soft lockup - CPU#0 stuck for 61s! [slic_test:5207]
[88798.449628] Modules linked in: slic_xxxx leds_xxxx vortex86_spi dm_mirror dm_log dm_multipath dm_mod ohci_hcd ehci_hcd r6040 vortex86_wdt vortex86_gpio [last un]
[88798.449628] irq event stamp: 0
[88798.449628] hardirqs last enabled at (0): [<00000000>] 0x0
[88798.449628] hardirqs last disabled at (0): [<c0115563>] copy_process+0x233/0x1090
[88798.449628] softirqs last enabled at (0): [<c0115563>] copy_process+0x233/0x1090
[88798.449628] softirqs last disabled at (0): [<00000000>] 0x0
[88798.449628]
[88798.449628] Pid: 5207, comm: slic_test …Run Code Online (Sandbox Code Playgroud) 我有一个TFT显示屏,可以绘制16位颜色,格式RGB 565.我想为我显示的内容添加一些透明度.
假设我有一个黑色背景(0x0000),我想画一个半透明的白色前景(0xFFFF)(不透明度由另一个字节控制),所以它会显示为灰色.如何以相同的RGB 565格式计算16位灰色,这样我就可以将它发送到我的TFT并且它会正确显示(可能有一些损失,但我不在乎)?
我需要一个功能,如:
unsigned short calcColor_RGB565(unsigned short background_RGB565, unsigned short foreground_RGB565, unsigned char opacity)
Run Code Online (Sandbox Code Playgroud)
calcColor_RGB565(0x0000, 0xFFFF, 128) 会导致0x8410(或0x1084,这并不重要,因为我向TFT发送两个单独的字节,所以如果需要我只会反转顺序)
感谢任何可以帮助我的人,我已经尝试了一些东西,但我无法得到正确的结果,甚至没有关闭:/.
类似C的伪代码赞赏,但我更喜欢解释如何做到这一点.
编辑:忘了说,我希望它尽可能快,因为它是一个旧的微处理器,所以如果分别计算2个字节更快(所以我也不必在以后将它们分开)然后我'我对这种优化非常感兴趣.
编辑9月27日:5天后,仍未解决.我可以从rgb565转换为rgb8888,进行alpha混合然后转换回rgb565,但这太慢了,必须有更好的方法!