'embeded'에 해당되는 글 1395건

  1. 2014.12.10 mmu와 rtos
  2. 2014.11.24 ltib / rc.conf
  3. 2014.10.13 크로스 컴파일 옵션 configure --host
  4. 2014.10.08 iWMMX / iWMMXt - Intel XScale SIMD instructions
  5. 2014.09.29 thumb의 장단점?
  6. 2014.09.22 dsp & simd / neon
  7. 2014.09.17 Freescale Multimedia framwork
  8. 2014.08.19 freescale i.mx283 / i.mx515
  9. 2014.05.21 odroid
  10. 2014.04.19 ARM thumb과 Jazelle
embeded2014. 12. 10. 20:06
MMU는 Memory Management Unit
RTOS는 Real Time OS 인데 ucLinux 에서 MMU 없이 RTOS에 가깝게 구현하다 보니
헷갈리는게 있는건가 싶기도 한데..

[링크 : http://en.wikipedia.org/wiki/Memory_management_unit]
[링크 : http://en.wikipedia.org/wiki/Real-time_operating_system]

일단 MMU가 없으면 가상주소를 쓸수 없어 물리 주소를 바로 맵핑하기에
context switching에 장점이 있을수 있다고 한다.
암튼, MMU가 없다고 RTOS 인건 아닌데 도대체 어디서 헷갈린걸까 -_-

[링크 : https://kldp.org/node/63733]
[링크 : http://xenostudy.tistory.com/10]
[링크 : http://www.freertos.org

uclinux는 micro-computer linux로
MMU가 없는 마이크로 프로세서에 대한 linux port 라고 한다.
[링크 : http://www.uclinux.org/ ]

'embeded' 카테고리의 다른 글

PowerQUICC  (0) 2015.04.02
S29AL016J 플래시 메모리 BYTE/WORD MODE  (0) 2014.12.23
ltib / rc.conf  (0) 2014.11.24
Z80 M6800  (0) 2014.01.27
기즈모 스피어 / 라즈베리 파이  (0) 2014.01.02
Posted by 구차니
embeded2014. 11. 24. 14:26
litb나 freebsd 계열에만 적용되는건지 모르겠지만
아무튼! 부팅시나 종료시에 수행할 프로그램이나 데몬에 대해서 설정이 가능하고

cfg_service는 부팅시
cfg_service_r은 종료시 구동되는 프로세스들을 나열한다

[링크 : http://www.nxmnpg.com/ko/5/rc.conf]
[링크 : https://www.freebsd.org/cgi/man.cgi?rc.conf(5)]
[링크 : http://www.bitshrine.org/autodocs/LtibFaq.html]

'embeded' 카테고리의 다른 글

S29AL016J 플래시 메모리 BYTE/WORD MODE  (0) 2014.12.23
mmu와 rtos  (0) 2014.12.10
Z80 M6800  (0) 2014.01.27
기즈모 스피어 / 라즈베리 파이  (0) 2014.01.02
USB2LPT for JTAG  (0) 2013.06.21
Posted by 구차니
embeded/ARM2014. 10. 13. 12:10
target만 지정하면 되는줄 알았는데 음..
target으로 지정할 경우
libtool에서 인식을 하지 못해 shared object등을 생성하지 못하는 문제가 있기에
host로 지정을 하라고 한다.

--build=BUILD BUILD 상에서의 빌드를 위한 설정 (i686?)
--host=HOST HOST 상에서 실행되는 프로그램을 빌드하기 위한 크로스 컴파일러 (arm-none-linux-gnueabi)
--target=TARGET TARGET을 위한 빌딩 컴파일러를 위한 설정

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
  --target=TARGET   configure for building compilers for TARGET [HOST]

[링크 : http://stackoverflow.com/.../libtool-claims-it-does-not-support-shared-libraries-during-cross-compilation

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

freescale imx283 boot error code  (0) 2015.01.07
Unknown HZ value! (91) Assume 100.  (0) 2015.01.05
iWMMX / iWMMXt - Intel XScale SIMD instructions  (0) 2014.10.08
thumb의 장단점?  (0) 2014.09.29
dsp & simd / neon  (0) 2014.09.22
Posted by 구차니
embeded/ARM2014. 10. 8. 13:52
췟 -_-
우연히 MPlayer 컴파일 하다가 발견했는데
집에 굴러 다니는 녀석은 PXA255.. -_-
해당사항이 없네? ㅠㅠ
 Intel's and Marvell's XScale microprocessor core starting with PXA270 include an SIMD instruction set extension to the ARM core called iwMMXt whose functions are similar to those of the IA-32 MMX extension. iwMMXt stands for "Intel Wireless MMX Technology". It provides arithmetic and logic operations on 64-bit integer numbers (the software may choose to instead perform two 32-bit, four 16-bit or eight 8-bit operations in a single instruction). The extension contains 16 data registers of 64-bits and eight control registers of 32-bits. All registers are accessed through standardARM architecture coprocessor mapping mechanism. iwMMXt occupies coprocessors 0 and 1 space, and some of itsopcodes clash with the opcodes of the earlier floating-point extension, FPA.

Later versions of Marvell's ARM processors supports both WMMX (Wireless MMX) and WMMX2 (Wireless MMX2) support.


[링크 : http://en.wikipedia.org/wiki/MMX_(instruction_set)#MMX_in_embedded_applications
[링크 : https://gcc.gnu.org/onlinedocs/gcc-4.3.4/gcc/ARM-iWMMXt-Built_002din-Functions.html

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

Unknown HZ value! (91) Assume 100.  (0) 2015.01.05
크로스 컴파일 옵션 configure --host  (0) 2014.10.13
thumb의 장단점?  (0) 2014.09.29
dsp & simd / neon  (0) 2014.09.22
Freescale Multimedia framwork  (0) 2014.09.17
Posted by 구차니
embeded/ARM2014. 9. 29. 17:37
ffmpeg 컴파일 옵션중에
  --enable-thumb           compile for Thumb instruction set

thumb 활성화가 있고 cpu도 지원을 해서
Processor       : ARM926EJ-S rev 5 (v5l)
BogoMIPS        : 226.09
Features        : swp half thumb fastmult edsp java 

 --enable-armv5te 랑 같이 썼더니.... 안되잖아!!!! ㅠㅠ
Assembler messages:
Error: instruction not supported in Thumb16 mode -- `adds r2,r5,r4,lsr#31'
Error: selected processor does not support `itet ne'
Error: Thumb does not support conditional execution

armv5te의 DSP enhancement 명령어들이 16bit(thumb mode) 가 아닌 32bit라 안되는게 아닐까 라고 추측되는데..
아무튼..  thumb의 장점으로는 ARM에서 코드 밀도가 올라간다(코드 사이즈가 65%까지 준다고..) 는 것 외에는
성능 향상적인 측면은 크게 없으니 굳이 무리하게 thumb 옵션을 쓰지 않아도 될 듯.
 
단점들을 나열해 볼게요. 
 
1. 분기 명령어를 제외하고는 조건부 실행이 안됩니다. 
2. 레지스터 사용이 R0~R7으로 제안 됩니다.
3. Immediate 상수 값의 사용 범위가 제한적입니다.
4. Inline barrel shifter의 사용이 제안적입니다.
5. Exception 처리를 할 수 없습니다.
[링크 : http://recipes.egloos.com/viewer/5651064

8.1 Thumb Instruction 특징
(1) 16-bit length instruction set
(2) ARM 명령어보다 코드의 집적도가 높습니다.( about 65% of ARM instruction )
(3) 일반적으로는 32bit ARM명령어 보다는 속도가 느리지만 16bit memory 시스템에서는 그렇지 않을 수도 있습니다.

8.2 Thumb Instruction 제약 사항

- Limited Access to Registers : R0-R7 registers are accessible.
- Narrow Range of Immediate Value
- Not Flexible for Exception Mode
- Exception Handler should be executed in ARM mode. : Exception이 발생하면 항상 ARM 모드로 전환이 됩니다.
- Limited conditional instruction.
- Branch instructions can be executed conditionally.
- Inline Barrel Shifter is not used. 
 
[링크 : http://www.jkelec.co.kr/img/lecture/arm_arch/arm_arch_4.html#8]  

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

크로스 컴파일 옵션 configure --host  (0) 2014.10.13
iWMMX / iWMMXt - Intel XScale SIMD instructions  (0) 2014.10.08
dsp & simd / neon  (0) 2014.09.22
Freescale Multimedia framwork  (0) 2014.09.17
freescale i.mx283 / i.mx515  (0) 2014.08.19
Posted by 구차니
embeded/ARM2014. 9. 22. 14:38
i.mx283 뒤지다가 영 스펙이 제대로 안나와서 헤매느중..
아무튼 검색을 하다보니 DSP & SIMD로
ARMv5TE 계열에 지원하는 DSP Enchancement 로 몇가지 명령어를 지원하는 것으로 보이지만...
컴파일 옵션에 DSP multiply 정도로 밖에 안나오는것 봐서는
ARMv6 계열의 SIMD에 비하면 정말 미미한 수준의 DSP/멀티미디어 확장일 것으로 보인다.

ARMv5TE 계열인 ARM946의 DSP enhancement instruction
느낌으로는.. 32bit 짜리로 8bit 씩 4개의 데이터에 대한 확장 명령이 존재할 것으로 보여진다.

[링크 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dvi0022a/ar01s02s14.html]

QADD, QSUB, QDADD, and QDSUB
Signed Add, Subtract, Double and Add, Double and Subtract, saturating the result to the signed range -2^31 ≤ x ≤ 2^31-1.

Syntax
op{cond} {Rd}, Rm, Rn

where:
op        is one of QADD, QSUB, QDADD, or QDSUB.
cond     is an optional condition code.
Rd         is the destination register.
Rm, Rn  are the registers holding the operands.
[링크 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489e/Cihidceh.html

[링크 : http://www.arm.com/products/processors/technologies/dsp-simd.php]

5TEJ ARMv5 with Thumb, interworking, DSP multiply, double-word instructions, and Jazelle® extensions ARM926EJ-S, ARM1026EJ-S, SC200 
[링크 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491g/CIHGEBDH.html]

DSP enhancement instructions
To improve the ARM architecture for digital signal processing and multimedia applications, DSP instructions were added to the set. These are signified by an "E" in the name of the ARMv5TE and ARMv5TEJ architectures. E-variants also imply T, D, M and I.

The new instructions are common in digital signal processor architectures. They include variations on signed multiply–accumulate, saturated add and subtract, and count leading zeros. 

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

iWMMX / iWMMXt - Intel XScale SIMD instructions  (0) 2014.10.08
thumb의 장단점?  (0) 2014.09.29
Freescale Multimedia framwork  (0) 2014.09.17
freescale i.mx283 / i.mx515  (0) 2014.08.19
ARM thumb과 Jazelle  (0) 2014.04.19
Posted by 구차니
embeded/ARM2014. 9. 17. 12:23
각종 오디오 코덱 및 AAC+ 용 코덱 링크
mp3나 jpeg gif aac 등에 대한 퍼포먼스 향상 라이브러인데..
freescale 에서 검색을 해도 오리지널 배포링크를 찾지 못해서 현재는 쥐쥐..

AACplus는 ARM11 / Cortex-A8만 지원하는 듯

[링크 : http://repository.timesys.com/buildsources/f/fsl-mm-aacpdec-codeclib/]

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

thumb의 장단점?  (0) 2014.09.29
dsp & simd / neon  (0) 2014.09.22
freescale i.mx283 / i.mx515  (0) 2014.08.19
ARM thumb과 Jazelle  (0) 2014.04.19
SSI - Synchronous Serial Interface  (0) 2013.12.18
Posted by 구차니
embeded/ARM2014. 8. 19. 14:00
스터디 중

일단.. I.MX283은 ARM9 패밀리로
아키텍쳐는 ARMv5TE 로 상당히 구형이다 -_-a
Java 확장을 지원하고 1.1 DMIPS 정도
[링크 : http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX283]
[링크 : http://www.arm.com/products/processors/classic/arm9/arm926.php]

I.MX515는 Cortex-A9 패밀리로
ARMv7-A 2.0 DMips로 상당히 파워풀 한 녀석
[링크 : http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX515&nodeId=018rH3ZrDR633B]
[링크 : http://www.arm.com/products/processors/cortex-a/cortex-a8.php


그런데.. 칩 자체가 좀 많이 다른 구성인데...
283은 LCD 컨트롤러 + 터치와 IF 위주라면
515는 NEON을 이용한 멀티미디어 프로세서 느낌? (셋탑박스나 DVR용도 같은 느낌..)

아무튼.. ARMv5와 ARMv7 아키텍쳐는
SIMD / NEON으로 인해 상당한 퍼포먼스 차이가 예상된다.


2010/05/10 - [embeded/ARM] - Cortex-A8 ?
2014/04/19 - [embeded/ARM] - ARM thumb과 Jazelle 

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

dsp & simd / neon  (0) 2014.09.22
Freescale Multimedia framwork  (0) 2014.09.17
ARM thumb과 Jazelle  (0) 2014.04.19
SSI - Synchronous Serial Interface  (0) 2013.12.18
ubuntu gcc-arm 패키지 목록  (0) 2013.08.31
Posted by 구차니
embeded/odroid2014. 5. 21. 16:59
라즈베리 파이보다 2배 정도 비싸지만 성능은 아마도.. 한 2~3배 이상 좋을거 같은 녀석..
하나 사고 싶네? ㅋㅋㅋㅋ

라즈베리파이
Ethernet/Internet Yes
Dual USB Connector Yes
512MB Memory Yes
Chip Broadcom BCM2835 SoC full HD multimedia applications processor
CPU 700 MHz Low Power ARM1176JZ-F Applications Processor
GPU Dual Core VideoCore IV® Multimedia Co-Processor
Memory 512MB SDRAM
Ethernet onboard 10/100 Ethernet RJ45 jack
USB 2.0 Dual USB Connector
Video Output HDMI (rev 1.3 & 1.4) Composite RCA (PAL and NTSC)
Audio Output 3.5mm jack, HDMI
Onboard Storage SD, MMC, SDIO card slot
Operating System Linux
Dimensions 8.6cm x 5.4cm x 1.7cm
[링크 : http://devicemart.co.kr/goods/view.php?seq=1077945]



SPECIFICATIONS
Processor Samsung Exynos4412 Prime Cortex-A9 Quad Core 1.7Ghz with 1MB L2 cache
Memory 2048MB(2GB) LP-DDR2 880Mega data rate
3D Accelerator Mali-400 Quad Core 440MHz
Video supports 1080p via HDMI cable(H.264+AAC based MP4 container format)
Video Out micro HDMI connector
Audio Standard 3.5mm headphone jack
HDMI Digital
LAN 10/100Mbps Ethernet with RJ-45 Jack ( Auto-MDIX support)
USB2.0 Host High speed standard A type connector x 3 ports
USB2.0 Device ADB/Mass storage(Micro USB)
Display HDMI monitor
Storage (Option) MicroSD Card Slot
eMMC module socket
Power (Option) 5V 2A Power
System Software Linux : Xubuntu 13.10 or latest version
Android : u-boot 2010.12, Kernel 3.0.x, Android 4.x
Full source code is available now.
PCB Size 83 x 48 mm
Weight 48g including the heat sink
[링크 : http://hardkernel.com/main/products/prdt_info.php]

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

odroid u3 사용준비!  (0) 2016.09.02
odroid u3 지름!  (0) 2016.09.02
eMMC에 대한 환상은 깨도 되려나?  (0) 2015.11.11
odroid eMMC 관련  (0) 2015.11.03
또 다른 선택.. Odroid C1  (0) 2015.04.17
Posted by 구차니
embeded/ARM2014. 4. 19. 23:53
thumb
32bit ARM 프로세서에서 16bit 명령어를 지원하는 기능이다.
일단 32bit 명령어는 말그대로.. 명령어 자체가 4byte인거고
RISC 특성상 명령어가 넘쳐나기 때문에 명령어 길이를 줄여 바이너리 크기를 줄이기 위한 방법으로 제공된다.
또한 thumb 사용시 데이터버스를 16bit로 사용하기 때문에
32bit 버스를 구성하지 않아도 되어 데이터버스를 회로 구성에도 잇점이 생긴다.

1994년 릴리즈된 ARM7TDMI 부터 지원되며 CPU 모델상에 T가 들어갈경우 Thumb를 지원한다.

[링크 : http://skyul.tistory.com/54]
[링크 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0210c/CACBCAAE.html]
[링크 : http://en.wikipedia.org/wiki/ARM_architecture]


Jazelle는 
Java의 꿈이었던 Java Bytecode CPU라고 해야하나?
CPU에서 Native ByteCode를 95% 정도 지원하고 나머지는VM 으로 처리하는 방식으로
ARMv5TEJ 부터 지원하고 J가 자바지원을 의미한다.

아무튼... 안드로이드가 좀 빨라진 이유중에 하나가
Cortex-A8/A9에서 Jazelle의 후속 기술인 ThumbEE를 지원하면서 JIT 가속(?)을 받아서가 아닐까?
 Jazelle DBX (Direct Bytecode eXecution) allows some ARM processors to execute Java bytecode in hardware as a third execution state alongside the existing ARM and Thumb modes. Jazelle functionality was specified in the ARMv5TEJ architecture and the first processor with Jazelle technology was the ARM926EJ-S. Jazelle is denoted by a 'J' appended to the CPU name, except for post-v5 cores where it is required (albeit only in trivial form) for architecture conformance.
 Jazelle RCT (Runtime Compilation Target) is a different technology and is based on ThumbEE mode and supports ahead-of-time (AOT) and just-in-time (JIT) compilation with Java and other execution environments.

Instead, the Thumb Execution Environment (ThumbEE) is now preferred. Support for this is mandatory in ARMv7-A processors (such as the Cortex-A8 and Cortex-A9), and optional in ARMv7-R processors. ThumbEE targets compiled environments, perhaps using JIT technologies. It is not at all specific to Java, and is fully documented; much broader adoption is anticipated than Jazelle was able to achieve.

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

[링크 : http://www.arm.com/products/processors/technologies/jazelle.php]

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

Freescale Multimedia framwork  (0) 2014.09.17
freescale i.mx283 / i.mx515  (0) 2014.08.19
SSI - Synchronous Serial Interface  (0) 2013.12.18
ubuntu gcc-arm 패키지 목록  (0) 2013.08.31
jtag tap - Test Access Port  (0) 2013.07.05
Posted by 구차니