embeded/ARM2013. 8. 31. 17:11
심심해서 arm용 컴파일러가 어떤데 있나 찾아 봤는데
armel과 armhf 이라는게 있어서 검색!

ARM EABI Little-endian, a software port of Linux to the ARM architecture, contrasted with armhf
ARM hard float refers to an ARM architecture with the additional floating point hardware Vector Floating Point (VFP).
[링크 : http://en.wikipedia.org/wiki/Armel]
[링크 : http://en.wikipedia.org/wiki/Armhf]

$ sudo apt-cache search arm | grep gcc
gcc-4.4-arm-linux-gnueabi - GNU C compiler
gcc-4.4-arm-linux-gnueabi-base - GCC, the GNU Compiler Collection (base package)
gcc-4.4-arm-linux-gnueabihf - GNU C compiler
gcc-4.4-arm-linux-gnueabihf-base - GCC, the GNU Compiler Collection (base package)
gcc-4.5-arm-linux-gnueabi - The GNU C compiler
gcc-4.5-arm-linux-gnueabi-base - The GNU Compiler Collection (base package)
gcc-4.5-arm-linux-gnueabihf - The GNU C compiler
gcc-4.5-arm-linux-gnueabihf-base - The GNU Compiler Collection (base package)
gcc-4.6-arm-linux-gnueabi - GNU C compiler
gcc-4.6-arm-linux-gnueabi-base - GCC, the GNU Compiler Collection (base package)
gcc-4.6-arm-linux-gnueabihf - GNU C compiler
gcc-4.6-arm-linux-gnueabihf-base - GCC, the GNU Compiler Collection (base package)
gcc-4.6-multilib-arm-linux-gnueabi - GNU C compiler (multilib files)
gcc-4.6-multilib-arm-linux-gnueabihf - GNU C compiler (multilib files)
gcc-arm-linux-gnueabi - The GNU C compiler for armel architecture
gcc-arm-linux-gnueabihf - The GNU C compiler for armhf architecture
libgcc1-armel-cross - GCC support library
libgcc1-armhf-cross - GCC support library
libgcc1-dbg-armel-cross - GCC support library (debug symbols)
libgcc1-dbg-armhf-cross - GCC support library (debug symbols)
libhfgcc1-armel-cross - GCC support library (hard float ABI)
libhfgcc1-dbg-armel-cross - GCC support library (debug symbols)
libsfgcc1-armhf-cross - GCC support library (soft float ABI)
libsfgcc1-dbg-armhf-cross - GCC support library (debug symbols)



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

ARM thumb과 Jazelle  (0) 2014.04.19
SSI - Synchronous Serial Interface  (0) 2013.12.18
jtag tap - Test Access Port  (0) 2013.07.05
H-JTAG에서 pxa255 + 28F128J 읽어오기(실패중)  (0) 2013.07.03
ARM EABI / OABI  (0) 2013.07.02
Posted by 구차니
embeded/Cortex-M3 Ti2013. 8. 16. 17:21

2.2 Bit-Banding (bitband)
This example application demonstrates the use of the bit-banding capabilities of the Cortex-M3
microprocessor. All of SRAM and all of the peripherals reside within bit-band regions, meaning that
bit-banding operations can be applied to any of them. In this example, a variable in SRAM is set to
a particular value one bit at a time using bit-banding operations (it would be more efficient to do a
single non-bit-banded write; this simply demonstrates the operation of bit-banding).



제대로 이해한건진 모르겠지만..

비트 연산자를 사용할때 퍼포먼스향상을 위해 메모리를 왕창 쓰는 기술
비트 조작시 바이트 단위로 조작하고 그걸 하드웨어에서 지원하는 기술

이라고 하면 되려나?

비트 조작시
1. '바이트' 데이터 읽기
2. 쉬프트 연산
3. AND / OR / XOR 등의 연산
4. '바이트' 데이터 쓰기
이런식으로 최소 4 사이클 쓰게 되는데

bitband를 쓰게 되면
1. 주소 연산
2. 바이트 매핑된 '비트' 주소에 데이터 쓰기

이렇게 두번에 끝나게 된다.

[링크 : http://todayis.tistory.com/254]
[링크 : http://liminia.tistory.com/54]

'embeded > Cortex-M3 Ti' 카테고리의 다른 글

cortex-m3 ROM direct call  (0) 2015.09.25
LM3S Stellarisware - GPIOIntTypeSet  (0) 2015.08.03
LM3S1968과 H-JTAG(wiggler)  (0) 2013.06.28
cortex-m3 JTAG / X-LinkEx 1.1  (0) 2013.06.11
cortex-m3가 문제인가.. keil이 문제인가?  (2) 2013.02.05
Posted by 구차니
embeded/AVR (ATmega,ATtiny)2013. 7. 23. 22:29
예전에 구매했던거 이제 AVR 살리고 했으니 써봐야지! 하는 마음에 보는데
헐.. 이게 머야 ㅠㅠ
[링크 : http://devicemart.co.kr/goods/view.php?seq=13665]

ATmega 칩의 퍼포먼스로 인해 최대한 부하를 줄이려면
데이터를 최대한 처리하지 않고 그대로 뿌리는 18bit 모드로 하는게 좋지 않을까 싶은데..
18bit 모드로 설정하기 위한 IM1, IM2 가 보이지 않는다는 함정이...



그냥 EVM 보드 구매해서 공부할까... 이중으로 돈이 나가는것 같은 기분이 드는데...
[링크 : http://devicemart.co.kr/goods/view.php?seq=14930]
[링크 : http://devicemart.co.kr/goods/view.php?seq=23648
Posted by 구차니
하다하다 안되서 비장의(!) 수단 적외선 카메라 ㅋㅋ

카드 정도는 뚫어버리는 위력에 깜놀 -_-a

카드로 가로막으면 이렇게!
(마그네틱 선의 적외선 차단능력은 짱짱 ㅋㅋ) 


엌ㅋ 슈발 마이아이 ㅋㅋㅋ


거리에 따라서는 5mV 까지는 올라가는데 이걸 5V로 증폭하려면 어떻게 해야하려나 ㅠㅠ


마그네틱 부분으로 막혀서 0.02mV 까지 떨어진다.


2013/07/04 - [embeded/ATmega/ATtiny (AVR)] - IR LED 수광부 ST-23G를 이용한 장난질

---
2013.07.08 추가
LM324와 EL-1K / ST-1K를 이용하는 회로도이다.
[링크 : http://blog.naver.com/jinung33/60044946859 ]
Posted by 구차니
embeded/ARM2013. 7. 5. 08:01

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

SSI - Synchronous Serial Interface  (0) 2013.12.18
ubuntu gcc-arm 패키지 목록  (0) 2013.08.31
H-JTAG에서 pxa255 + 28F128J 읽어오기(실패중)  (0) 2013.07.03
ARM EABI / OABI  (0) 2013.07.02
TI DM368와 H-JTAG(실패)  (0) 2013.06.28
Posted by 구차니
집에 굴러 다니고 있던 저렴한 IR 수광/발광부 녀석들
ATtiny2313의 성공에 힘입어 해보겠어! 했는데 으앙 쥬금 ㅋㅋ

[링크 : http://www.eleparts.co.kr/EPX33JXU] EL-23G 발광
[링크 : http://www.eleparts.co.kr/EPX33JXR] ST-23G 수광



아무튼, IR이니 입력되는 IR이 있으면 5V로 나오려나 하고 해봤는데 안되서
기본 회로를 찾아보니 kodenshi의 ST-23G 회로도가 나온다.


[링크: http://www.kodenshi.co.kr/download/DB/1-3/ST23G.PDF]

아무튼 저런 느낌(!)으로 대충 연결해서 테스터기에 mA 단위로 측정이 안되서 낮춰보니 0.7uA...


가리면 전류가 흐르지 않아서 Probe라고 뜬다.



아으.... 이걸 쓰려면 opamp 사용해야 할 것 같은데
다음번에는 귀찮아도 비싸도 이런거 사서 쓸까 ㅠㅠ


[링크: http://www.eleparts.co.kr/EPX33JXL
Posted by 구차니
'ISP Frequency'를 '230.4kHz' 에서 '57.6kHz'로 낮추니 된다 -_-



귀찮아서 점퍼선 구매하고 대충 연결 ㅋㅋ
일단 회로는 전혀 없이 기본값인 Internal RC 로 작동하고
내 기억에는 8MHz 를 CKDIV / 8 로 해서 1Mhz로 작동하게 되는걸로 알고 있는데
그렇다면 230.4kHz로도 충분히 접속되어야 하기에 낮출 생각을 못했다.


이번에 지른 거상인 GS-08A
부가세 포함 1.1만원 들여서 해결책을 찾았으니 만원어치 값을 했구나~ ㅋㅋㅋ
이 녀석을 붙이는데 안되서 혹시나 ISP Clock? 이러면서 했더니 두둥!
그리고 나서 ATtiny2313에 해보니 두둥! 으앙 ㅋㅋㅋㅋ


---
기본 퓨즈 비트 설정
CKDIV8이 체크 되어 있어서 1MHz로 작동하게 된다.
체크를 끄면 8MHz로 작동하게 되고 ISP Clock도 기본값인 250kHz로 설정하고 사용해도 문제가 없어진다.

 
Posted by 구차니
embeded/DSP C2000 Ti2013. 7. 3. 16:07
wiggler로는 안되려나?
호환목록에서 TMS460 이런건 보이지만 TMS320는 없다 -_-a

[링크 : http://www.ti.com/product/tms320dm368]
[링크 : http://www.spectrumdigital.com/product_info.php?products_id=29


---
국내 대리점에 연락해보니
일반적인 ARM용 JTAG은 안되고 전용이나 EVAL 보드를 점퍼날려서 써야 한다고 한다.


---
2013.07.08  추가

JTAG Adapters (05/15/06)
The DaVinci EVM uses a 1.8V 20-pin JTAG header. This is different than the standard 3.3V 14-pin standard JTAG header normally found on our development boards. The appropriate JTAG adapter to use is:


[링크 : http://blog.naver.com/kingseft/140042723740 ] 

'embeded > DSP C2000 Ti' 카테고리의 다른 글

CCSv6 설치 시도... 실패 ㅠㅠ  (0) 2018.02.09
Code Composer Studio - CCS  (0) 2018.02.09
xds510usb xds510pp  (0) 2018.02.09
MCU와 DSP 차이점  (0) 2017.12.29
TMS320F2808 JTAG 검색..  (0) 2017.12.28
Posted by 구차니
embeded/ARM2013. 7. 3. 10:35
주소가 잘못되었나 id가 잘못되었나 멘붕중...
일단 RedBoot에서는 
0x00000000 0x04000000 0xa0000000 전부 동일한 내용이 읽힌다.

아마도
0x00000000은 플래시 메모리 이고
0xA0000000은 메모리에 맵핑된 플래시 메모리의 영역일 것 같고
0x04000000은 머지?

음.. 다시 합당한 걸로 추론을 해보면
0x00000000은 RAM
0x04000000은 MMIO로 연결된 FLASH 영역?
0xA0000000은 FLASH


RedBoot> version

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 17:44:04, Apr 16 2003

Platform: COGENT (XScale)
Copyright (C) 2000, 2001, Red Hat, Inc.

RAM: 0xa0000000-0xa2000000, 0xa0012fb8-0xa1ebf000 available
FLASH: 0x04000000 - 0x06000000, 128 blocks of 0x00040000 bytes each.

RedBoot> ldrh 0xa0000000
0x    f018 from 0xa0000000

RedBoot> ldrh 0x00000000
0x    f018 from 0x       0

RedBoot> ldrh 0x04000000
0x    f018 from 0x 4000000

RedBoot> ldrh 0x0000000f
0x    e59f from 0x       e

RedBoot> ldrh 0xa000000f
0x    e59f from 0xa000000e

RedBoot> ldrh 0x0400000f
0x    e59f from 0x 400000e 

2013/07/02 - [하드웨어/PalmPalm Tynux Box] - tynuxbox X와 H-JTAG (wiggler / parallel)
2013/07/03 - [하드웨어/PalmPalm Tynux Box] - palmpalm = PXA255 + Intel 28F128J3


일단 이건.. H-JTAG에서 사용하는 초기화 파일로
모델이 조금 다른 28F320J3 용이다. (4MB NOR)


일단 16bit 1chip 으로 16bit band width 인거 같고..
Flash address가 0x10000000 으로 RAM 보다 뒤에 시작한다.


대망(?)의 Init Script 인데.. 음.. 부디 28F128J3 에도 적용이 되길 ㅠㅠ


RESET과 VERIFICATION이 추가 되었다.


파일 내용은 아래와 같다.
FLASH SECTION:
INTEL
28F320J3
MEMORY SECTION:
16-BIT X 1-CHIP
0x10000000
0x00300000
XTAL SECTION:
NULL
TCK SECTION:
0
0
SCRIPT SECTION:
SysReset+++//Rest system
SetMem+32-Bit+0xFFFFFD44+0x00008000//Disable watchdog
SetMem+32-Bit+0xFFFFFC20+0x00000801//Enable main oscillator
Delay+++25//wait for main osc stable
SetMem+32-Bit+0xFFFFFC28+0x206D9F09//Setup PLL A
SetMem+32-Bit+0xFFFFFC2C+0x20A21F0F//Setup PLL B
Delay+++25//wait for PLL stable
SetMem+32-Bit+0xFFFFFC30+0x00000102//Select PLL A as clock source
Delay+++100//wait for system stable
SetMem+32-Bit+0xFFFFE400+0x02020202//SMC_SETUP
SetMem+32-Bit+0xFFFFE404+0x0D0D0D0D//SMC_PULSE
SetMem+32-Bit+0xFFFFE408+0x00100010//SMC_CYCLE
SetMem+32-Bit+0xFFFFE40C+0x00041003//SMC_MODE
PGMOPTION SECTION:
ENABLE_RESET
ENABLE_VERIFICATION2
ADDON SECTION:
 
[INIT_TRITON_RAM]
memory write 0x48000008 0x12DC24D8          ; MSC0 = 0x26F226F2
memory read 0x48000008                      ; read MSC0
memory write 0x4800000C 0x7FF07FF0          ; MSC1 = 0x3FF4A441
wait  10
memory write 0x48000010 0x7FF07FF0          ; MSC2 = 0x00007FF0
wait  10
memory write 0x48000004 0x00000018          ; MDREFR = 0x00000018
memory write 0x4800001C 0x00000000          ; SXCNFG = 0x00000000
memory write 0x48000004 0x00010018          ; MDREFR = 0x00010018
wait  10
memory write 0x48000004 0x0009C030          ; MDREFR = 0x000BC018
memory write 0x48000000 0x00000AA8          ; MDCNFG = 0x00000AA8
wait  100
memory write 0x48000000 0x00000AAD          ; MDCNFG = 0x00000AA9
memory write 0x48000040 0x00220032          ; MDMRS = 0x00220032

[FLASH_28F128J3A]
; auto detect 28F128J3(A) or 28F128P30B
CHIP                    = 28F128J3(A)       ; flash chip
CHIP                    = 28F128P30B        ; flash chip
ACCESS_METHOD           = AUTO              ; program method auto
CHECK_ID                = YES               ; check chip ID
CHIP_WIDTH              = 16                ; chip is in 16 bit configuration
CHIP_COUNT              = 1                 ; one chip is used
BASE_ADDR               = 0                 ; chip is mapped at 0x0000000
FILE                    = "myfile.bin", BIN, 0 ; file to program
AUTO_ERASE              = NO                ; erase before program
AUTO_LOCK               = NO                ; lock after program
 
[링크 : http://download.ronetix.info/peedi/cfg_examples/xscale/pxa255.cfg] 

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

ubuntu gcc-arm 패키지 목록  (0) 2013.08.31
jtag tap - Test Access Port  (0) 2013.07.05
ARM EABI / OABI  (0) 2013.07.02
TI DM368와 H-JTAG(실패)  (0) 2013.06.28
HibernateRTCSet  (0) 2012.04.19
Posted by 구차니
embeded/ARM2013. 7. 2. 16:08
arm-linux-gcc 이런거 대신에 언젠가 부터 야곰야곰 arm-eabi-gcc 이런게 보이길래 검색..
(cortex-m3 에서도 우연히(!) 보게 된적은 있지만..)


확실하게 어떤 건진 모르겠고
ELF와 같은 바이너리 호환을 위한 컨테이너 같은데
ARMv5 ARMv7 이런식으로 ARM 아키텍쳐도 여러가지이니
이러한 ARM 프로세서들에 대한 바이너리 호환성을 위해서 만든것 같다.


기존의 ABI를 OABI로
신형 ABI를 EABI로 규정

[링크 : http://en.wikipedia.org/wiki/Application_binary_interface]
[링크 : http://wiki.debian.org/ArmEabiPort

[링크 : http://kldp.org/node/82715]
[링크 : http://iprinceps.egloos.com/610936]
[링크 : http://forum.falinux.com/zbxe/index.php?document_srl=574604]
 

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

jtag tap - Test Access Port  (0) 2013.07.05
H-JTAG에서 pxa255 + 28F128J 읽어오기(실패중)  (0) 2013.07.03
TI DM368와 H-JTAG(실패)  (0) 2013.06.28
HibernateRTCSet  (0) 2012.04.19
KEIL Program Size 항목별 의미  (0) 2012.04.19
Posted by 구차니