b*****n 发帖数: 482 | 1 embedded system 和 lower level driver 什么的常常会用特定地址。不过通常要有个
global memmap 以确保没有地址冲突。就这段代码而言只是看指针操作清不清楚而已。 |
|
发帖数: 1 | 2 谁叫自己上了嵌入式的贼船,工资低呢。。。C看多了,也不能刷题转码搞互联网
为什么摄像头领域不能有像开源openwrt一样的项目呢?
把海康的dmesg贴出来,大家可以参考,他们用安霸S3L,https://www.ambarella.com/
products/security-ip-cameras/security-ip-camera-products#S3L
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.10.73+ ([email protected]) (gcc version 5
.2.1 20151005 (Linaro GCC 5.2-2015.11-2) ) #1 PREEMPT Mon Jan 23 10:38:22
CST 2017
[ 0.000000] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=
10c53c7d
[ 0.000000] CPU: PIPT / ... 阅读全帖 |
|
S*A 发帖数: 7142 | 3 你说的对,numpy slice 的确是使用 view. 我也试过了,对于我的应用
不行。我的问题是数据量很大,就算用 mmap 也要非常有技巧。
问题是 numpy 的 slice object 比 python array.array
费很多内存。我估计 numpy slice 在 200 byte 左右。这样 slice 数目
多上去以后总的内存还是没有省。
import numpy
fp = numpy.memmap("big-file-over-1G-byte", dtype='uint32')
x = [ fp[i] for i in xrange(0, len(fp), 50)]
# load all the thing in memory. Python should take 1.x G here
x = [ fp[i:i+1] for i in xrange(0, len(fp), 50)]
# Python take over 2G here.
不知道你要问什么 bypassing.
我会写 Python 的 C module. 代码看上去很多,但是其实很多是重复... 阅读全帖 |
|
|
|
S*A 发帖数: 7142 | 6 因为我最近在 hack 这个 Pogoplug V4 mobile。我顺便帮
你看了以下。
我从 UBoot 上面去掉了 serial cosole。这个是 dmesg。
时钟初始化是在 12 妙开始, 并不是 Linux 真正启动了 12 妙。
所以走到 systemd 启动也才 3.5 秒钟。注意其中有 USB 硬盘
访问,因为那个 rootfs 是在 USB 上面。仔细看 demsg,去掉
USB 硬盘访问,去掉 SATA 寻找硬盘,去掉 Ethernet 寻找
Link 的时间,剩下初始化应该就在 2 秒钟以内了。这个 3.5
秒钟很多时间是在和 USB storage 的东西相关。你只要
rootfs 不在 USB flash 上面,这些都可以启动的时候不做。
所以 2 秒钟启动应该是可以的,不需要特别多定制。
基本上改改 kernel config 或者启动参数就可以了。
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ ... 阅读全帖 |
|
S*A 发帖数: 7142 | 7 因为我最近在 hack 这个 Pogoplug V4 mobile。我顺便帮
你看了以下。
我从 UBoot 上面去掉了 serial cosole。这个是 dmesg。
时钟初始化是在 12 妙开始, 并不是 Linux 真正启动了 12 妙。
所以走到 systemd 启动也才 3.5 秒钟。注意其中有 USB 硬盘
访问,因为那个 rootfs 是在 USB 上面。仔细看 demsg,去掉
USB 硬盘访问,去掉 SATA 寻找硬盘,去掉 Ethernet 寻找
Link 的时间,剩下初始化应该就在 2 秒钟以内了。这个 3.5
秒钟很多时间是在和 USB storage 的东西相关。你只要
rootfs 不在 USB flash 上面,这些都可以启动的时候不做。
所以 2 秒钟启动应该是可以的,不需要特别多定制。
基本上改改 kernel config 或者启动参数就可以了。
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ ... 阅读全帖 |
|