라즈베리도 yocto project 적용된게 있나 보네..

다음번에 봐야지.. 귀차나...


[링크 : http://mytechpg.blogspot.kr/2013/06/raspberrypi-and-yocto.html]

[링크 : https://delog.wordpress.com/2014/09/16/embedded-linux-system-for-raspberry-pi-with-yocto-project/]

[링크 : http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/]

'프로그램 사용 > yocto project' 카테고리의 다른 글

imx8 yocto  (0) 2023.08.28
imx8 yocto build on ubuntu 22.04  (0) 2023.02.10
라즈베리 파이 with yocto project  (2) 2015.07.30
yocto project 구조  (0) 2015.07.29
라즈베리 파이 2 yocto 프로젝트?  (0) 2015.06.08
Posted by 구차니
Linux2015. 4. 28. 22:11

기본값으로 컴파일

$ LD_SHOW_AUXV=1 ls

AT_HWCAP:    half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt

AT_PAGESZ:       4096

AT_CLKTCK:       100

AT_PHDR:         0x10034

AT_PHENT:        32

AT_PHNUM:        9

AT_BASE:         0x76fae000

AT_FLAGS:        0x0

AT_ENTRY:        0x13a6d

AT_UID:          1000

AT_EUID:         1000

AT_GID:          1000

AT_EGID:         1000

AT_SECURE:       0

AT_RANDOM:       0x7eb85e2f

AT_HWCAP2:       0x0

AT_EXECFN:       /bin/ls

AT_PLATFORM:     v7l 


menuconfig 에서 NEON 제거

    *** At least one emulation must be selected ***

[*] VFP-format floating point maths                

[ ]   Advanced SIMD (NEON) Extension support     


cpu 플래그 확인 결과 neon 빠짐

$ LD_SHOW_AUXV=1 ls

AT_HWCAP:    half thumb fastmult vfp edsp vfpv3 tls vfpv4 idiva idivt

AT_PAGESZ:       4096

AT_CLKTCK:       100

AT_PHDR:         0x10034

AT_PHENT:        32

AT_PHNUM:        9

AT_BASE:         0x76f84000

AT_FLAGS:        0x0

AT_ENTRY:        0x13a6d

AT_UID:          1000

AT_EUID:         1000

AT_GID:          1000

AT_EGID:         1000

AT_SECURE:       0

AT_RANDOM:       0x7edf9e2f

AT_HWCAP2:       0x0

AT_EXECFN:       /bin/ls

AT_PLATFORM:     v7l 


일단은.. 라즈베리에서는 cpuinfo 에서도 neon이 빠지긴 한다.

$ cat /proc/cpuinfo

processor       : 0

model name      : ARMv7 Processor rev 5 (v7l)

BogoMIPS        : 38.40

Features        : half thumb fastmult vfp edsp vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm

CPU implementer : 0x41

CPU architecture: 7

CPU variant     : 0x0

CPU part        : 0xc07

CPU revision    : 5 


'Linux' 카테고리의 다른 글

insmod / modprobe 차이  (0) 2015.08.25
리눅스 device tree  (0) 2015.04.29
쓰레드 / 프로세스  (0) 2015.04.27
리눅스 1분만에 커널 빌드하기  (0) 2015.04.06
리눅스 무선랜 유틸리티 - iwlist iwconfig  (0) 2015.03.03
Posted by 구차니
embeded/ARM2015. 4. 28. 10:00

jazelle 가속이 ARMv7 부터 사라진거 봐서는 의미가 없는거 같긴한데

Yes Dalvik makes Jazelle useless. The only question is was Jazelle useful to begin with or is it 90% marketing hype? A good JIT or AOT(ahead of Time) compiler tends to give much better performance than trying to use specialized instructions. The register based approach of Dalvik might be faster than a traditional java bytecode interpreter but if the difference in minor between that of an interpreter and that of a JIT. Hopefully one of the next versions of Android has a JIT.


It takes ~5-10 years to write a good virtual machine with state of the art garbage collectors and optimizers. Sun (and Microsoft) have spent those years. Google hasn't. Hopefully they will keep investing in it so that one day Android Java code isn't a 90% slower than it should be.

[링크 : http://stackoverflow.com/questions/1153076/does-android-castrate-the-arms-jazelle-technology] 


결론은.. 실제적으로 실패한 기술이려나?

There are (at least) 4 different ways of executing Java:


1. interpretation

2. direct hardware execution

3. JIT compilation

4. AOT compilation


In order to answer your question of whether an ARM core with Jazelle

would improve performance you first need to state what you are

currently using, which core and what speed. If you use an interpreter,

anything will give a good speedup.


Note there are 2 versions of Jazelle: DBX which executes byte codes

directly (various ARM9's and all ARM11's support this). This gives

around 4x speedup over interpretation and has no memory or startup

overheads. There is also an optimizer which can improve performance

at runtime. However rather than generating native instructions like a

JIT, it optimizes the bytecode itself.


Jazelle-RCT supports either JIT or AOT compilation into the Thumb-2EE

instruction set (Cortex-A8/Cortex-A9). This gives near native performance

but when using a JIT you get the usual startup and memory overheads

(although far less than when using x86 due to ARM's better code density).


[링크 : http://www.embeddedrelated.com/showthread/comp.arch.embedded/109371-1.php] 


[링크 : http://en.wikipedia.org/wiki/Jazelle]

[링크 : http://en.wikipedia.org/wiki/Ahead-of-time_compilation]

[링크 : http://en.wikipedia.org/wiki/Just-in-time_compilation]

'embeded > ARM' 카테고리의 다른 글

cortex-m 시리즈와 포화연산  (0) 2015.08.26
ARM926EJ / ARMv5TE  (0) 2015.07.28
ltib 패키지 요구사항  (0) 2015.04.13
jffs2 on sd card  (0) 2015.04.09
sd 메모리 카드 블럭 사이즈  (0) 2015.04.09
Posted by 구차니
embeded/raspberry pi2015. 4. 28. 08:23
사용하고 있던 커널 기본 설정이 먼지 까먹었는데..
기본 값으로 initramfs 쪽이 설정되어 있지 않았던것 같아
부팅이 진행될 수 없다고 에러가 뜬거 같으니..
그걸 설정해주거나 initramfs를 아예 끄고 해볼까나..


[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=24&t=7626]

    [링크 : https://wiki.gentoo.org/wiki/Raspberry_Pi_Kernel_Compilation]

[링크 : https://github.com/raspberrypi/linux/blob/rpi-patches/arch/arm/configs/bcmrpi_defconfig]


CONFIG_BLK_DEV_INITRD=y

CONFIG_INITRAMFS_SOURCE="../target_fs"

[링크 : https://github.com/raspberrypi/linux/blob/rpi-patches/arch/arm/configs/bcmrpi_emergency_defconfig] 


[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=24&t=7626]

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=10532]



음? 다시 보니.. 블럭 0 에 파일은 찾았는데 LZMA 방식으로 압축이 되어 있었나?

일단.. initramfs에서 LZMA를 지원하게 안했으니 압축포맷은 다 지원하게 해주고 해볼 필요도 있을듯


[    2.465182] RAMDISK: lzma image found at block 0

[    2.469881] RAMDISK: lzma decompressor not configured!

[    2.475016] Invalid ramdisk decompression routine.  Select appropriate config option.

[    2.482897] Kernel panic - not syncing: Could not decompress initial ramdisk image.


-*- Kernel->user space relay support (formerly relayfs)           

[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

()    Initramfs source file(s)                                    

[*]   Support initial ramdisks compressed using gzip              

[ ]   Support initial ramdisks compressed using bzip2             

[ ]   Support initial ramdisks compressed using LZMA              

[ ]   Support initial ramdisks compressed using XZ                

[ ]   Support initial ramdisks compressed using LZO               

[ ]   Support initial ramdisks compressed using LZ4               

[ ] Optimize for size                                             

-*- Configure standard kernel features (expert users)  --->       

[*] Embedded system                                               

    Kernel Performance Events And Counters  --->                  

[*] Enable VM event counters for /proc/vmstat                     

[*] Enable SLUB debugging support                                 


2015/04/14 - [개소리 왈왈/라즈베리 파이 2] - 라즈베리 파이 2 커널 바꿔치기.. 실패 ㅠㅠ



음.. 기본값으로 initrd.img를 끌어가게 되어 있는건가?

일단 압축포맷만 LZMA를 지원하도록 해주면 될 것 같기도 하네..

$ file *

COPYING.linux:          Pascal source, ASCII text

LICENCE.broadcom:       ASCII text

a:                      directory

b:                      directory

bcm2708-rpi-b-plus.dtb: data

bcm2708-rpi-b.dtb:      data

bootcode.bin:           data

cmdline.txt:            ASCII text

config.txt:             ASCII text

fixup.dat:              data

fixup_cd.dat:           data

fixup_x.dat:            data

initrd.img:             LZMA compressed data, streamed

kernel.img:             Linux kernel ARM boot executable zImage (little-endian)

kernel7.img:            Linux kernel ARM boot executable zImage (little-endian)

overlays:               directory

snappy-system.txt:      ASCII text, with very long lines

start.elf:              ELF 32-bit LSB  executable, version 1 (SYSV), statically linked, stripped

start_cd.elf:           ELF 32-bit LSB  executable, version 1 (SYSV), statically linked, stripped

start_x.elf:            ELF 32-bit LSB  executable, version 1 (SYSV), statically linked, stripped

uEnv.txt:               empty


2015/04/14 - [개소리 왈왈/라즈베리 파이 2] - 라즈베리 파이 2 - RootFS in linux 


+

집에와서 해보니 ramdisk lzma 지원추가하니 된다!!

일단 raspbian 에서 kernel7.img 만 zImage로 대체

내가 한 커널이라는 증거는 리눅스 커널 버전에 출력되는 계정과 시간! 으허허허허

즉, initramfs 설정관련해서는 config.txt 쪽에서 끌어가거나 기본 로더에서 추가하는 것으로 보인다


Uncompressing Linux... done, booting the kernel.

[    0.000000] Booting Linux on physical CPU 0xf00

[    0.000000] Initializing cgroup subsys cpu

[    0.000000] Initializing cgroup subsys cpuacct

[    0.000000] Linux version 3.18.10-v7+ (minimonk@devdesk) (gcc version 4.8.3 20140106 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2014.01 - Linaro GCC 2013.11) ) #4 SMP PREEMPT Tue Apr 28 21:20:55 KST 2015

[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d

[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache

[    0.000000] Machine: BCM2709

[    0.000000] cma: Reserved 8 MiB at 0x39800000

[    0.000000] Memory policy: Data cache writealloc

[    0.000000] [bcm2709_smp_init_cpus] enter (8620->f3003010)

[    0.000000] [bcm2709_smp_init_cpus] ncores=4

[    0.000000] PERCPU: Embedded 10 pages/cpu @ba369000 s11456 r8192 d21312 u40960

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 239776

[    0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa21041 bcm2709.serial=0xa37ce24e smsc95xx.macaddr=B8:27:EB:7C:E2:4E bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 root=/dev/disk/by-label/system-a init=/lib/systemd/systemd ro panic=-1 fixrtc elevator=deadline rootwait

[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)

[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)

[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

[    0.000000] Memory: 928208K/966656K available (5717K kernel code, 397K rwdata, 1748K rodata, 388K init, 763K bss, 38448K reserved)

[    0.000000] Virtual kernel memory layout:

[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)

[    0.000000]     fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)

[    0.000000]     vmalloc : 0xbb800000 - 0xff000000   (1080 MB)

[    0.000000]     lowmem  : 0x80000000 - 0xbb000000   ( 944 MB)

[    0.000000]     modules : 0x7f000000 - 0x80000000   (  16 MB)

[    0.000000]       .text : 0x80008000 - 0x8075287c   (7467 kB)

[    0.000000]       .init : 0x80753000 - 0x807b4000   ( 388 kB)

[    0.000000]       .data : 0x807b4000 - 0x8081747c   ( 398 kB)

[    0.000000]        .bss : 0x8081747c - 0x808d61d4   ( 764 kB)

[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1

[    0.000000] Preemptible hierarchical RCU implementation.

[    0.000000] NR_IRQS:608

[    0.000000] Architected cp15 timer(s) running at 19.20MHz (virt).

[    0.000014] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 3579139424256ns

[    0.000036] Switching to timer-based delay loop, resolution 52ns

[    0.000313] Console: colour dummy device 80x30

[    0.000349] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)

[    0.000377] pid_max: default: 32768 minimum: 301

[    0.000780] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)

[    0.000803] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)

[    0.002046] Initializing cgroup subsys memory

[    0.002097] Initializing cgroup subsys devices

[    0.002126] Initializing cgroup subsys freezer

[    0.002152] Initializing cgroup subsys net_cls

[    0.002175] Initializing cgroup subsys blkio

[    0.002278] CPU: Testing write buffer coherency: ok

[    0.002361] ftrace: allocating 19590 entries in 58 pages

[    0.050685] missing device node for CPU 0

[    0.050723] missing device node for CPU 1

[    0.050737] missing device node for CPU 2

[    0.050747] missing device node for CPU 3

[    0.050769] CPU0: thread -1, cpu 0, socket 15, mpidr 80000f00

[    0.050784] [bcm2709_smp_prepare_cpus] enter

[    0.050914] Setting up static identity map for 0x527b38 - 0x527b6c

[    0.110660] [bcm2709_boot_secondary] cpu:1 started (0) 18

[    0.110951] CPU1: Booted secondary processor

[    0.110960] [bcm2709_secondary_init] enter cpu:1

[    0.111014] CPU1: thread -1, cpu 1, socket 15, mpidr 80000f01

[    0.130645] [bcm2709_boot_secondary] cpu:2 started (0) 18

[    0.130881] CPU2: Booted secondary processor

[    0.130889] [bcm2709_secondary_init] enter cpu:2

[    0.130922] CPU2: thread -1, cpu 2, socket 15, mpidr 80000f02

[    0.150692] [bcm2709_boot_secondary] cpu:3 started (0) 16

[    0.150917] CPU3: Booted secondary processor

[    0.150924] [bcm2709_secondary_init] enter cpu:3

[    0.150955] CPU3: thread -1, cpu 3, socket 15, mpidr 80000f03

[    0.151048] Brought up 4 CPUs

[    0.151080] SMP: Total of 4 processors activated (153.60 BogoMIPS).

[    0.151091] CPU: All CPU(s) started in SVC mode.

[    0.152103] devtmpfs: initialized

[    0.176863] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5

[    0.178817] pinctrl core: initialized pinctrl subsystem

[    0.179596] NET: Registered protocol family 16

[    0.185269] DMA: preallocated 4096 KiB pool for atomic coherent allocations

[    0.186386] bcm2709.uart_clock = 3000000

[    0.188734] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.

[    0.188751] hw-breakpoint: maximum watchpoint size is 8 bytes.

[    0.188783] mailbox: Broadcom VideoCore Mailbox driver

[    0.188890] bcm2708_vcio: mailbox at f300b880

[    0.189253] bcm_power: Broadcom power driver

[    0.189270] bcm_power_open() -> 0

[    0.189282] bcm_power_request(0, 8)

[    0.689968] bcm_mailbox_read -> 00000080, 0

[    0.689981] bcm_power_request -> 0

[    0.690104] Serial: AMBA PL011 UART driver

[    0.690236] dev:f1: ttyAMA0 at MMIO 0x3f201000 (irq = 83, base_baud = 0) is a PL011 rev3

[    1.195351] console [ttyAMA0] enabled

[    1.263851] SCSI subsystem initialized

[    1.267829] usbcore: registered new interface driver usbfs

[    1.273468] usbcore: registered new interface driver hub

[    1.278913] usbcore: registered new device driver usb

[    1.285800] Switched to clocksource arch_sys_counter

[    1.321396] FS-Cache: Loaded

[    1.324590] CacheFiles: Loaded

[    1.338877] NET: Registered protocol family 2

[    1.344505] TCP established hash table entries: 8192 (order: 3, 32768 bytes)

[    1.351730] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)

[    1.358404] TCP: Hash tables configured (established 8192 bind 8192)

[    1.364854] TCP: reno registered

[    1.368114] UDP hash table entries: 512 (order: 2, 16384 bytes)

[    1.374078] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)

[    1.380781] NET: Registered protocol family 1

[    1.385842] RPC: Registered named UNIX socket transport module.

[    1.391762] RPC: Registered udp transport module.

[    1.396505] RPC: Registered tcp transport module.

[    1.401204] RPC: Registered tcp NFSv4.1 backchannel transport module.

[    1.408004] Trying to unpack rootfs image as initramfs...

[   14.839907] Freeing initrd memory: 12660K (ba393000 - baff0000) 


Posted by 구차니
아이디어!2015. 4. 27. 20:24

문득 생각나서 퇴근길에 검색해보니..

토카막이던 머던.. 결론은

거기서 발생하는 열 에너지를 이용하여 물을 끓이고

이 뜨거운 증기를 이용해 터빈을 돌려 운동 에너지로 변환하고

운동 에너지를 발전기를 통해 전기 에너지로 변환한다.



변환이라는 과정 자체가 효율이 존재하기 때문에 100% 전환될수가 없긴 하지만

열 -> 운동 -> 전기 에너지라는 2단계 전환보다


물질 -> 전기 에너지 이런식으로

물질에서 에너지를 뽑아내는 기술이 발명되게 된다면 얼마나 대단해질까 라는 생각이 든다.



물론 현실적(?)으로는 반물질로 충돌시켜 발생하는 어마어마한 에너지를 이용해

결국에는 터빈을 돌리겠지만...


Posted by 구차니
embeded/raspberry pi2015. 4. 27. 20:14


OpenELEC:~ # modprobe lirc_rpi debug=1

OpenELEC:~ # cat /sys/kernel/debug/gpio
GPIOs 0-53, platform/3f200000.gpio, pinctrl-bcm2835:
 gpio-35  (led1                ) in  lo
 gpio-47  (led0                ) out lo

OpenELEC:~ # cat /proc/interrupts
            CPU0       CPU1       CPU2       CPU3
 16:          0          0          0          0   ARMCTRL  16  bcm2708_fb dma
 24:         98          0          0          0   ARMCTRL  24  DMA IRQ
 25:       1539          0          0          0   ARMCTRL  25  DMA IRQ
 32:     390117          0          0          0   ARMCTRL  32  dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
 49:          0          0          0          0   ARMCTRL  49  3f200000.gpio:bank0
 50:          0          0          0          0   ARMCTRL  50  3f200000.gpio:bank1
 65:         30          0          0          0   ARMCTRL  65  ARM Mailbox IRQ
 66:     290877          0          0          0   ARMCTRL  66  VCHIQ doorbell
 75:          1          0          0          0   ARMCTRL  75
 84:       6518          0          0          0   ARMCTRL  84  mmc0
 99:      65543      47405      39193      57753   ARMCTRL  99  arch_timer
497:          0          0          0          0  pinctrl-bcm2835  17  lirc_rpi
FIQ:              usb_fiq
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0          0          0          0  Timer broadcast interrupts
IPI2:      16388      33373      85486     101209  Rescheduling interrupts
IPI3:          1          4          6          5  Function call interrupts
IPI4:          2          1          2          6  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
IPI6:          0          0          0          0  IRQ work interrupts
IPI7:          0          0          0          0  completion interrupts
Err:          0 

OpenELEC:~ # dmesg | grep -i lirc

[    5.898084] lirc_dev: IR Remote Control driver registered, major 248

[    5.925459] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.

[    6.822622] lirc_rpi: auto-detected active high receiver on GPIO pin 17

[    6.823177] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0

[    6.823195] lirc_rpi: driver registered!

[    7.268732] input: lircd as /devices/virtual/input/input3


OpenELEC:~ # lsmod | grep irc

lirc_rpi                5982  3

lirc_dev                7578  1 lirc_rpi

rc_core                14603  1 lirc_dev


mount -t debugfs debugfs /sys/kernel/debug
cat /sys/kernel/debug/gpio 

The output should be something like this (you should see two gpio pins allocated to the lirc_rpi driver):
GPIOs 0-53, bcm2708_gpio:
 gpio-16  (led0                ) out hi
 gpio-17  (lirc_rpi ir/out     ) in  lo
 gpio-18  (lirc_rpi ir/in      ) in  hi
Check dmesg after loading the module with the debug parameter.
modprobe lirc_rpi debug=1

lirc_dev: IR Remote Control driver registered, major 252 
lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 0
lirc_rpi: driver registered!
lirc_rpi: is_right_chip bcm2708_gpio 0
lirc_rpi: to_irq 103
lirc_rpi: auto-detected active low receiver on GPIO pin 18
Run irw then check if the module succesfuly requested an irq.
cat /proc/interrupts
           CPU0       
  3:      88963   ARMCTRL  BCM2708 Timer Tick
 52:       3251   ARMCTRL  BCM2708 GPIO catchall handler
 65:          2   ARMCTRL  ARM Mailbox IRQ
 66:          1   ARMCTRL  VCHIQ doorbell
 75:   51434882   ARMCTRL  dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
 77:        223   ARMCTRL  bcm2708_sdhci (dma)
 83:         24   ARMCTRL  uart-pl011
 84:       7123   ARMCTRL  mmc0
103:       3251      GPIO  lirc_rpi

[링크 : http://aron.ws/projects/lirc_rpi/] 


OpenELEC:~ # mode2 -d /dev/lirc0

mode2: could not open /dev/lirc0

mode2: default_init(): Device or resource busy


[링크 : http://aron.ws/projects/lirc_rpi/openelec_howto.html]



+2015.04.28


gpio -g write 16 1

dtoverlay=lirc-rpi,gpio_out_pin=16,gpio_in_pin=17,debug=on

dtoverlay=lirc-rpi,gpio_out_pin=25,gpio_in_pin=18

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=99085] 


File:   lirc-rpi-overlay.dtb

Info:   Configures lirc-rpi (Linux Infrared Remote Control for Raspberry Pi)

        Consult the module documentation for more details.

Load:   dtoverlay=lirc-rpi,<param>=<val>,...

Params: gpio_out_pin             GPIO pin for output (default "17")


        gpio_in_pin              GPIO pin for input (default "18")


        gpio_in_pull             Pull up/down/off on the input pin

                                 (default "down")


        sense                    Override the IR receive auto-detection logic:

                                   "1" = force active high

                                   "0" = force active low

                                   "-1" = use auto-detection

                                 (default "-1")


        softcarrier              Turn the software carrier "on" or "off"

                                 (default "on")


        invert                   "on" = invert the output pin (default "off")


        debug                    "on" = enable additional debug messages

                                 (default "off")


[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=97314]



+ 2015.04.28

config.txt

dtoverlay=lirc-rpi,gpio_in_pin=18,debug=on


OpenELEC:~ # dmesg | grep -i lirc

[    5.656942] lirc_dev: IR Remote Control driver registered, major 248

[    5.703156] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.

[    5.705297] lirc_rpi: to_irq 498

[    6.595845] lirc_rpi: auto-detected active high receiver on GPIO pin 18

[    6.596240] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0

[    6.596255] lirc_rpi: driver registered!

[    6.769256] input: lircd as /devices/virtual/input/input0

[    7.791546] lirc_rpi: Interrupt 498 obtained

[    7.791573] lirc_rpi: in init_timing_params, freq=38000 pulse=13157, space=13158


OpenELEC:~ #  modprobe lirc_rpi debug=1


OpenELEC:~ # cat /sys/kernel/debug/gpio

GPIOs 0-53, platform/3f200000.gpio, pinctrl-bcm2835:

 gpio-35  (led1                ) in  lo

 gpio-47  (led0                ) out lo


OpenELEC:~ # cat /proc/interrupts

            CPU0       CPU1       CPU2       CPU3

 16:          0          0          0          0   ARMCTRL  16  bcm2708_fb dma

 24:         42          0          0          0   ARMCTRL  24  DMA IRQ

 25:       1532          0          0          0   ARMCTRL  25  DMA IRQ

 32:      22278          0          0          0   ARMCTRL  32  dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1

 49:          0          0          0          0   ARMCTRL  49  3f200000.gpio:bank0

 50:          0          0          0          0   ARMCTRL  50  3f200000.gpio:bank1

 65:         32          0          0          0   ARMCTRL  65  ARM Mailbox IRQ

 66:      46149          0          0          0   ARMCTRL  66  VCHIQ doorbell

 75:          1          0          0          0   ARMCTRL  75

 84:       5845          0          0          0   ARMCTRL  84  mmc0

 99:       8864       7960       6038       4639   ARMCTRL  99  arch_timer

498:          0          0          0          0  pinctrl-bcm2835  18  lirc_rpi

FIQ:              usb_fiq

IPI0:          0          0          0          0  CPU wakeup interrupts

IPI1:          0          0          0          0  Timer broadcast interrupts

IPI2:      14513      40888       8299       7798  Rescheduling interrupts

IPI3:          2          4          5          2  Function call interrupts

IPI4:          1          5          0          1  Single function call interrupts

IPI5:          0          0          0          0  CPU stop interrupts

IPI6:          1          0          0          0  IRQ work interrupts

IPI7:          0          0          0          0  completion interrupts

Err:          0



Posted by 구차니
Linux API2015. 4. 27. 17:44

쓸일이 생길지도 모르니 일단 조사..


[링크 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/article/ncurses_프로그래밍]

'Linux API' 카테고리의 다른 글

cups api  (0) 2018.12.20
system wait stdout  (0) 2018.10.22
lirc - linux IR Remote control  (0) 2015.03.31
vaapi vdpau uvd  (6) 2015.03.26
linux 최대 thread 갯수  (0) 2015.01.22
Posted by 구차니

focal length랑 focal distance 용어가 다른거 같은데..

기억이 안나네 -_-


아무튼.. 촛점을 기준으로 비례해서 센서/필름에서의 크기로 실제 크기를 재는 식으로 거리를 재는 듯?

순수하게 촛점거리를 이용해서(렌즈-센서 거리) 피사체 까지의 거리를 재진 못하려나..


[링크 : http://photo.stackexchange.com/questions/12434/how-do-i-calculate-the-distance-of-an-object-in-a-photo]

[링크 : http://www.dpreview.com/forums/thread/1750289]


[링크 : http://www.lensation.de/en/calculators.html]



[링크 : http://egloos.zum.com/lontide/v/4892216] 심도계산

'이론 관련 > 사진 광학 관련' 카테고리의 다른 글

SAD(Sum of Absolute Differences) 알고리즘  (0) 2015.05.06
TOF - Time of Flight  (0) 2015.04.30
rolling shutter  (0) 2014.08.13
OLPF / MTF  (0) 2013.03.21
UV / CPL / ND64 필터 테스트  (8) 2012.12.25
Posted by 구차니
Linux2015. 4. 27. 09:26

쓰레드와 프로세스의 context switch 개념에서의 차이점


프로세스는 code / data / heap / stack 모두 스위칭

쓰레드는 stack만 스위칭


[링크 : http://egloos.zum.com/sweeper/v/2815395]


[링크 : http://en.wikipedia.org/wiki/Context_switch]

[링크 : http://en.wikipedia.org/wiki/Thread_(computing)]

Posted by 구차니

회사에 누군가 하나라도 당해서

우연히(?) 파일서버를 네트워크 드라이브로 쓰고 있었다면?!?!

어우....


계속 시끌시끌 하지만 여전히 해결책이 없고

플래시 버전업 외에는 딱히 해결책이 없는데다

랜섬웨어 특징상 돈을 준다고 해도 풀어 줄지 안줄지 알수가 없기 때문에


몇번이고 울궈먹을수 있는 상황이라

회사가 당하면 정말 치명적일듯..



역설적으로 Adobe Flash는 이런 사건을 계기로 완전 배제 되지 않으려나 싶긴한데

국내에서는 그게 안되니 어떨려나..

회사 서버가 다 털려서(어짜피 클라이언트가 암호화 해버리는 거니 서버를 주기적으로 전체 백업하지 않는 이상...)

업무 불가능 해지면 그때야 손을 보게 되려나?...

Posted by 구차니