我正在使用Qmake和QtCreator进行交叉编译.在套件的设置中(工具链和qmake细节设置在那里)有一个名为的字段Sysroot:.(这里的例子)
由于QtCreator和Qmake最终负责生成Makefile,我的问题是,该选项在Makefile中转换为什么以及如何将其传递给工具链?
这个问题的动机
我有Sysroot:指向~/path-to-sysroot.~/path-to-sysroot包含为嵌入式目标交叉编译的常规sysroot结构.
~/path-to-sysroot
??? bin
??? include
??? lib
??? sbin
??? share
??? usr
Run Code Online (Sandbox Code Playgroud)
当我尝试交叉编译一些依赖于库的代码时~/path-to-sysroot/usr/lib,它会失败并显示缺少库的消息,但是存在.我解析了生成的makefile,发现没有任何痕迹~/path-to-sysroot/usr/lib.
有很多与特定错误相关的问题,为什么单独使用gdb进入共享库是行不通的.他们都没有就如何确定原因在哪里提供系统的答案.这个问题是关于诊断设置的方法.
main.c中
#include <stdio.h>
#include "myshared.h"
int main(void)
{
int a = 3;
print_from_lib();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
myshared.h
void print_from_lib();
Run Code Online (Sandbox Code Playgroud)
myshared.c
#include <stdio.h>
void print_from_lib()
{
printf("Printed from shared library\n");
}
Run Code Online (Sandbox Code Playgroud)
将所有文件放在同一目录中.
export LIBRARY_PATH=$PWD:$LIBRARY_PATH
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
gcc -ggdb -c -Wall -Werror -fpic myshared.c -o myshared-ggdb.o
gcc -ggdb -shared -o libmyshared-ggdb.so myshared-ggdb.o
gcc -ggdb main.c -lmyshared-ggdb -o app-ggdb
Run Code Online (Sandbox Code Playgroud)
$ gdb ./app-ggdb
GNU gdb (Ubuntu 7.12.50.20170314-0ubuntu1) 7.12.50.20170314-git
...### GDB STARTING TEXT
Reading symbols from app-ggdb...done.
(gdb) break 7
Breakpoint 1 …Run Code Online (Sandbox Code Playgroud) 我一直在使用matplotlib一段时间没有问题.已经有一段时间了,因为我需要交互式绘图功能(使用Tkaag).从那以后我更新了matplotlib几次.
我今天尝试使用它,但它产生了一个错误.
/usr/local/lib/python2.7/dist-packages/matplotlib/backends/tkagg.py in <module>()
----> 1 import _tkagg
2 import Tkinter as Tk
3
4 def blit(photoimage, aggimage, bbox=None, colormode=1):
5 tk = photoimage.tk
ImportError: No module named _tkagg
Run Code Online (Sandbox Code Playgroud)
我尝试了一个不同的后端,添加了
backend : GTKAgg
Run Code Online (Sandbox Code Playgroud)
到matplotlibrc.只是为不同的模块获得相同的错误.
ImportError: No module named _backend_gdk
Run Code Online (Sandbox Code Playgroud)
当我浏览/usr/local/lib/python2.7/dist-packages/matplotlib/backends/中的后端时,我注意到所有需要下划线的模块都丢失了.
alan@linux /usr/local/lib/python2.7/dist-packages/matplotlib/backends $ ls
backend_agg.py backend_macosx.py backend_template.pyc
backend_agg.pyc backend_macosx.pyc backend_tkagg.py
_backend_agg.so backend_mixed.py backend_tkagg.pyc
backend_cairo.py backend_mixed.pyc backend_wxagg.py
backend_cairo.pyc backend_pdf.py backend_wxagg.pyc
backend_cocoaagg.py backend_pdf.pyc backend_wx.py
backend_cocoaagg.pyc backend_ps.py backend_wx.pyc
backend_emf.py backend_ps.pyc __init__.py
backend_emf.pyc backend_qt4agg.py __init__.pyc
backend_fltkagg.py backend_qt4agg.pyc Matplotlib.nib
backend_fltkagg.pyc backend_qt4.py qt4_compat.py
backend_gdk.py backend_qt4.pyc …Run Code Online (Sandbox Code Playgroud) 问题是这个问题的反面.我正在寻找一个从小数组原始大数组的泛型方法:
array([[[ 0, 1, 2],
[ 6, 7, 8]],
[[ 3, 4, 5],
[ 9, 10, 11]],
[[12, 13, 14],
[18, 19, 20]],
[[15, 16, 17],
[21, 22, 23]]])
->
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]])
Run Code Online (Sandbox Code Playgroud)
我目前正在开发一种解决方案,它会在完成后发布,但是我希望看到其他(更好)的方法.
这是困扰我的例子:
>>> x = decimal.Decimal('0.0001')
>>> print x.normalize()
>>> print x.normalize().to_eng_string()
0.0001
0.0001
Run Code Online (Sandbox Code Playgroud)
有没有办法用表示mili(10e-3)和micro(10e-6)的工程符号?
我正在尝试控制(打开/关闭)映射到GPIO引脚的电压调节器并为外部设备供电.调节器的设备树具有以下条目:
reg_usb1_vbus: usb1_vbus {
compatible = "regulator-fixed";
regulator-name = "usb1_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio3 28 0>;
enable-active-high;
};
Run Code Online (Sandbox Code Playgroud)
当我阅读文档时,我对此感到困惑:
可选属性:
- gpio:用于启用控件的gpio
但是,我无法导出该GPIO的sysfs接口,并使用它来控制外部设备的电源(只是打开/关闭).此外,如果我gpio = <&gpio3 28 0>;从设备树中注释掉外部设备,则外部设备不会获得电源(如果没有注释,则设备始终处于通电状态).
监管机构已导出sysfs接口:
80090000.usb-vbus power suspend_standby_state
device state type
microvolts subsystem uevent
name suspend_disk_state
num_users suspend_mem_state
Run Code Online (Sandbox Code Playgroud)
但是我无法写入任何文件.
解释gpio:条目的正确方法是什么?
gpio用于启用控制
在这种情况下,我错过了我想要调节器电压的引脚之间的映射.
gpio将从调节器获得电压为某些外部设备供电
在这种情况下,我错过了打开和关闭它的方法
我正在寻找一个用于设置H264视频流的最低必要SDP的示例
假设只要通过SDP获得所需参数,接收器就可以播放H264.
我之前曾在ARM特定平台驱动程序上工作,最近转向基于Intel Atom.在ARM,它以前arch/arm/boot/dts/xx.dts并arch/arm/mach-xx/添加平台设备.我没有在x86上看到这些文件或文件夹.当我进入arch/x86/...那里没有dts文件或平台文件.
如果我想将我的平台设备添加到Intel Atom平台,我该如何添加我的平台设备信息?我在哪里可以获得特定于x86的dts文件(假设即使dts不是特定的任何架构)?
我正在使用Python库开发一个应用程序,urllib由于无法访问URL,有时会出现异常情况.
但是,异常会在标准库堆栈中引发近6个级别:
/home/user/Workspace/application/main.py in call(path)
11 headers={'content-type': 'application/json'},
12 data=b'')
---> 13 resp = urllib.request.urlopen(req) ####### THIS IS MY CODE
14 return json.loads(resp.read().decode('utf-8'))
/usr/lib/python3.4/urllib/request.py in urlopen(url, data, timeout, cafile, capath, cadefault, context)
159 else:
160 opener = _opener
--> 161 return opener.open(url, data, timeout)
162
163 def install_opener(opener):
/usr/lib/python3.4/urllib/request.py in open(self, fullurl, data, timeout)
461 req = meth(req)
462
--> 463 response = self._open(req, data)
464
465 # post-process response
/usr/lib/python3.4/urllib/request.py in _open(self, req, data)
479 protocol = …Run Code Online (Sandbox Code Playgroud) 我有一组表示数字输出的CSV值.它是使用模拟示波器收集的,因此它不是一个完美的数字信号.我试图过滤掉数据以获得完美的数字信号来计算周期(可能会有所不同).我还想定义从这个过滤得到的最大误差.
像这样的东西:

理念
应用数据阈值.这是一个伪代码:
for data_point_raw in data_array:
if data_point_raw < 0.8: data_point_perfect = LOW
if data_point_raw > 2 : data_point_perfect = HIGH
else:
#area between thresholds
if previous_data_point_perfect == Low : data_point_perfect = LOW
if previous_data_point_perfect == HIGH: data_point_perfect = HIGH
Run Code Online (Sandbox Code Playgroud)
有两个问题困扰着我.
python ×5
linux ×2
linux-kernel ×2
numpy ×2
c ×1
debugging ×1
decimal ×1
device-tree ×1
exception ×1
gdb ×1
h.264 ×1
ipython ×1
makefile ×1
matplotlib ×1
python-2.7 ×1
qmake ×1
qt-creator ×1
rtp ×1
sdp ×1
sip ×1