'분류 전체보기'에 해당되는 글 260건
- 2009.09.25 Make The Girl Dance - Baby Baby Baby
- 2009.09.23 STM32F103C6
- 2009.09.15 스트레스 해소용 싸대기 날리기 게임!!!
- 2009.09.03 에릭존슨의 Manhattan 가야금 버전 연주
- 2009.09.02 순대보드 Kernel Image
- 2009.09.02 순대보드 u-boot - 4
- 2009.09.01 ▶◀ 장진영님, 더 좋은 곳에서 건강하세요..
- 2009.09.01 메모리 단위
- 2009.08.31 vi 문자열 치환 2
- 2009.08.28 LXR(Linux Cross-Reference)
2009. 9. 25. 12:50
Make The Girl Dance - Baby Baby Baby
2009. 9. 25. 12:50 in Show/멋진 음악들
유투브에서 화제가 되고 있다는 프랑스 듀오 'Make The Girl Dance'의 'Baby Baby Baby' 라는 곡의 뮤직비디오이다.
반복되는 리듬에 외치는 Baby Baby Baby~ 신나고 즐거운 노래, 낮설지만 듣기에 거북하진 않은 프랑스어..
하지만, 이 좋은 노래도 뮤직비디오에 묻혀지는 듯.. -_-;;
처음부터 입이 떠억 벌어지고.. 시선을 놓을 수 없다!!!
유투브에서도 완전 화제의 동영상이라는데..
오늘부터 MTGD의 팬이 되어버릴지도 모르겠다... -_-;;
'Show > 멋진 음악들' 카테고리의 다른 글
Jason Mraz - Lucky (0) | 2009.09.28 |
---|---|
에릭존슨의 Manhattan 가야금 버전 연주 (0) | 2009.09.03 |
Fukai mori - Do As Infinity (0) | 2009.04.13 |
검정치마 - 좋아해줘 (0) | 2009.04.08 |
Ibanez 기타 연주 (2) | 2009.03.20 |
2009. 9. 23. 15:26
STM32F103C6
2009. 9. 23. 15:26 in 혼자서 놀기.../STM32
SPEC.
Core
- ARM 32-bit Cortex-M3 (72MHz)
- performance at 0 wait state memory access
- Single cycle multiplication and hardware division
Memory
- 32Kbyte Flash memory / 10 Kbyte SDRAM
Up to 51 fast I/O ports
- 26 / 37 / 51 I/Os, all mappable on 16 external interrupt vectors
Low power
- Sleep, Stop, Standby modes
- V(BAT) supply for RTC and backup registers
Clock, reset and supply management
- 2.0 to 3.6 V application supply and I/Os
- POR, PDR, programmable voltage detector(PVD)
- 4 to 16 MHz crystal oscillator
- Internal 8 MHz factory-trimmed RC
- Internal 40 kHz RC
- PLL for CPU clock
- 32 kHz oscillator for RTC with calibration
12 bit A/D converters * 2
- Conversion range( 0 to 3.6V)
- up to 16 channels
- Dual-sample and hold capability
- Temperature sensor
DMA
- 7 channel DMA controller
- Peripherals supported timers, ADC, SPIs, I2C, USARTs
Debug mode
- Serial wire debug(SWD), JTAG interfaces
Timer (6 개)
- 2 * 16 bit timers
- 16 bit motor control PWM
- 2 * watchdog timers
- 24 bit downcounter
Communication interfaces (6개)
- I2C (SMBus/PMBus)
- USART * 2 (ISO 7816 interface, LIN, IrDA capability, modem control)
- SPI (18Mbit/s)
- CAN interface (2.0B Active)
- USB 2.0 Full-Speed
CRC calculation unit (96 bit unique ID)
'혼자서 놀기... > STM32' 카테고리의 다른 글
STM32 개발 환경 (0) | 2009.12.26 |
---|---|
STM32 Memory Map (1) | 2009.12.24 |
Cortex-M3(STM32) System Architecture (0) | 2009.10.06 |
STM32F103C6T6 (0) | 2009.10.05 |
Cortex M3 - Bit Banding (0) | 2009.09.29 |
2009. 9. 15. 16:52
스트레스 해소용 싸대기 날리기 게임!!!
2009. 9. 15. 16:52 in TodayIs/Nevermind
싸대기 게임!!!
http://nigoro.jp/game/rosecamellia/rosecamellia.php?lang=en
요즘처럼 스트레스가 극에 달릴때 스트레스를 주는 그 놈들을 생각하며 하기에 딱인 게임이다.
제목은 한문이라.. 도저히 뭐라는 거야?? -_-;;
스트레스 해소용이므로.. 난이도는 젤로 약하게!!
꼭 그래야만 한다. 안그럼 스트레스 더 쌓임!! -_-;
게임의 방법은 홈페이지에 잘 나와있다.
때리는 것보다 피하는 것이 요령!! 그 놈의 싸대기를 피하고 반격을 날리는 스킬!! 그것이 포인트!!! ㅋ
막판 괴물 아줌마.. 강적이다..
하지만, 누구라 생각하고 싸대기를 날리면, 이길 수 있다는거!!! ㅋㅋ
엔딩 샷!!
왠지 할 때만큼은 마음에 평화가 오는 듯한 기분.. 하고 나면 똑같지만 ㅋㅋ
자.. 일하자... ㅡ.ㅜ
'TodayIs > Nevermind' 카테고리의 다른 글
하이개그로 여자 꼬시는 법 (1) | 2011.01.31 |
---|
2009. 9. 3. 16:14
에릭존슨의 Manhattan 가야금 버전 연주
2009. 9. 3. 16:14 in Show/멋진 음악들
"Luna"라는 분이 "에릭존슨(Eric Johnson)"의 "Manhattan"이라는 곡을 가야금으로 연주한 동영상이다.
Manhattan - Gayageum Version
가야금이라는 악기는 잘 모르지만, 소리가 무척 맑고 깨끗한 느낌을 준다. 통통 튀는 음색도 듣기에 무척이나 상쾌하고.. 여튼 기분좋은 소리~ ㅎㅎ
"Luna 의 가야금 이야기" 라는 홈페이에 연주 동영상 및 음원을 올린다고 하니 다른 동영상을 보고 싶으면 살짝 방문해주는 센스~ ㅋ
"Luna 의 가야금 이야기" 라는 홈페이에 연주 동영상 및 음원을 올린다고 하니 다른 동영상을 보고 싶으면 살짝 방문해주는 센스~ ㅋ
'Show > 멋진 음악들' 카테고리의 다른 글
Jason Mraz - Lucky (0) | 2009.09.28 |
---|---|
Make The Girl Dance - Baby Baby Baby (0) | 2009.09.25 |
Fukai mori - Do As Infinity (0) | 2009.04.13 |
검정치마 - 좋아해줘 (0) | 2009.04.08 |
Ibanez 기타 연주 (2) | 2009.03.20 |
2009. 9. 2. 16:00
순대보드 Kernel Image
2009. 9. 2. 16:00 in 혼자서 놀기.../순대보드(AHAV9302)
저번 시간까지 해서 'uboot 포팅'까지 완료되었다. uboot를 통해서 리눅스, WinCE와 같은 운영체제를 올릴 수 있는 기반이 준비된 것이다.
이번에 할 일은.. AHAV9302 순대보드에 올릴 리눅스 커널을 만들것이다.
일단 순대국밥님 강좌에 있는대로 Linux Kernel 2.6.22.8 을 올릴 것이고, ftp://ftp.kernel.org에 들어가서 해당 버전의 리눅스 커널을 /opt/arm9sbc/ahav/backup 디렉토리에 다운로드 받는다.
$ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.8.tar.bz
커널 작업을 하기 위해서 아래와 같이 /opt/arm9sbc/ahav/kernel 디렉토리에 압축을 푼다.
$ cd ${AHAV_KERNEL_DIR}
$ tar -C ${AHAV_KERNEL_DIR} -xjf ${AHAV_BACKUP_DIR}/linux-${AHAV_KERNEL_VER}.tar.bz2
$ tar -C ${AHAV_KERNEL_DIR} -xjf ${AHAV_BACKUP_DIR}/linux-${AHAV_KERNEL_VER}.tar.bz2
AHAV9302의 리눅스 커널과 네트웍 포팅을 위해 디렉토리 하나를 추가 생성한다. 나중에 파일시스템 관련해서 꼭 필요한 부분이란다. 미리 만들어 준다.
$ mkdir -p ${AHAV_HOST_DIR}/${AHAV_KERNEL_VER}
$ ln -s ${AHAV_KERNEL_DIR}/linux-${AHAV_KERNEL_VER}/include
${AHAV_HOST_DIR}/${AHAV_KERNEL_VER}/include
$ ln -s ${AHAV_KERNEL_DIR}/linux-${AHAV_KERNEL_VER}/include
${AHAV_HOST_DIR}/${AHAV_KERNEL_VER}/include
압축을 해제한 리눅스 커널에서 수정하거나 새로 생성해야하는 파일에는 다음과 같은것들이 있다.
[U] 는 기존의 파일을 수정할 것이고, [N] 은 새로 생성해 주어야 하는 파일을 명시한 것이다.
[U] arch/arm/mach-ep93xx/Kconfig
[U] arch/arm/mach-ep93xx/Makefile
[U] arch/arm/mach-ep93xx/Makefile.boot
[N] arch/arm/mach-ep93xx/ahav9302.c
[U] arch/arm/tools/mach-types
[U] include/asm-arm/arch-ep93xx/hardware.h
[U] include/asm-arm/arch-ep93xx/memory.h
[N] include/asm-arm/arch-ep93xx/ahav9302.h
[U] arch/arm/kernel/setup.c
[U] arch/arm/boot/Makefile
[U] arch/arm/mach-ep93xx/Makefile
[U] arch/arm/mach-ep93xx/Makefile.boot
[N] arch/arm/mach-ep93xx/ahav9302.c
[U] arch/arm/tools/mach-types
[U] include/asm-arm/arch-ep93xx/hardware.h
[U] include/asm-arm/arch-ep93xx/memory.h
[N] include/asm-arm/arch-ep93xx/ahav9302.h
[U] arch/arm/kernel/setup.c
[U] arch/arm/boot/Makefile
커널 머신(kernel machine) 선택메뉴(arch/arm/mach-ep93xx/Kconfig)에 AHAV를 선택할 수 있는 메뉴를 추가한다.
$ vi arch/arm/mach-ep93xx/Konfig
Makefile에도 새로운 커널 머신이 추가 되었다는 것을 알려주어야 한다. arch/arm/mach-ep93xx/Makefile 파일을 열어 마지막 부분에 아래와 같이 한줄을 추가한다.
$ vi arch/arm/mach-ep93xx/Makefile
다음은 AHAV9302의 SDRAM 연결을 참조하여 arch/arm/mach-ep93xx/Makefile.boot 의 커널 시작주소를 수정한다. 앞서 말한 적이 있지만 AHAV9302 보드에서 SDRAM의 메모리 맵 주소는 0xC0000000이다.
$ vi arch/arm/mach-ep93xx/Makefile.boot
이제부터는 타겟보드인 AHAV9302에 관련된 파일을 생성해서 작업을 할것이다. 무작정 처음부터 새로 생성해서 하는 것보다 기존에 있는 동일한 혹은 비슷한 칩에대한 파일을 구해서 수정을 하는 것이 정신건강에 좋다고 한다.
"arch/arm/mach-ep93xx/" 디렉토리의 "edb9302.c" 파일을 복사해 "ahav9302.c" 를 만들어 수정하면 된다.
순대국밥님이 미리 수정해 놓은 파일을 사용해도 된다. edb9302.c를 ahav9302.c에 맞게 수정한 파일인데, 두 파일을 비교해보는 것도 좋을 듯 하다. 얼핏 봐서는 이더넷 관련 부분이 추가된듯 하다.
다음은 uboot에서도 살펴본듯한 머신타입(arch/arm/tools/mach-types) 파일에 ahav9302 관련된 부분을 넣어준다.
$ vi arch/arm/tools/mach-types
"include/asm-arm/arch-ep93xx/hardware.h"의 마지막에 새로 생성할 ahav9302.h를 포함시킨다.
$ vi include/asm-arm/arch-ep93xx/hardware.h
SDRAM의 시작주소가 0xC0000000 부터 시작되고 있으니 "include/asm-arm/arch-ep93xx/memory.h" 의 PHYS_OFFSET을 아래와 같이 0xC0000000으로 변경한다.
$ vi include/asm-arm/arch-ep93xx/memory.h
"include/asm-arm/arch-ep9302xx/ahav9302.h" 파일은 현재로썬 별 내용이 없기에 그냥 빈 파일로 만들어 두면 된다. 후에 하드웨어를 구현하면서 필요한 선언들을 넣어주는 용도로 사용하면 된다.
AHAV9302 가 64MB 이므로, "arch/arm/kernel/setup.c" 파일의 42번째 줄에서 MEM_SIZE를 (16*1024*1024)에서 (64*1024*1024)로 변경을 해주어야 한다.
$ vi arch/arm/kernel/setup.c
"arch/arm/boot/Makefile"의 64 번째 줄에 있는 부분을 아래와 같이 변경한다.
이전의 uboot 포팅에서 만들어진 /usr/bin/mkimage가 여기서 사용된다. 커널이 적재되어야 할 주소를 미리 지정해 놓고, 압축이 풀리는 곳의 지정을 다르게 하여 좀 더 효율적으로 한다는데.. 아직 이해 부족.. -_-
$ vi arch/arm/boot/Makefile
자!! 이제부터 커널 컴파일이다.
컴파일 하기 위해서 커널의 설정을 해주어야 하는데.. 음.. 아직 잘 모르겠어.. ㅡ.ㅜ
다행히 순대국밥님이 커널 설정에 대한 컨피그 파일을 미리 준비해 주셨다. 그 놈을 사용해서 커널 컴파일을 하면 될 듯 하다.
위의 파일을 받아서 linux-2.6.22.8 디렉토리로 복사하고, 파일 이름을 .config 라는 이름으로 바꾸어 준다.
아래의 명령을 사용해서 생성하려는 커널의 설정에 대해 확인할 수 있다.
$ cd ${AHAV_KERNEL_DIR}/linux-${AHAV_KERNEL_VER}
$ make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
$ make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
아래의 명령을 사용해 AHAV9302의 리눅스 커널을 컴파일 하자!!
clean은 기존의 것들을 지우고 모두 새로 컴파일을 하겠다는 것이고, uImage는 /usr/bin/mkimage를 이용해서 커널을 uboot Image로 만들겠다는 뜻이다.
$ make ARCH=arm CROSS_COMPILE=arm-linux- clean
$ make ARCH=arm CROSS_COMPILE=arm-linux- uImage
$ make ARCH=arm CROSS_COMPILE=arm-linux- uImage
한참을 컴파일을 할 것이다.
정상적으로 컴파일이 되었다면 "arch/arm/boot/"에 커널이미지(uImage)가 생성되었을 것이다.
이 녀석을 다음 작업을 하기위한 경로로 이동을 시키자!!
$ cp ${AHAV_KERNEL_DIR}/linux-${AHAV_KERNEL_VER}/arch/arm/boot/uImage
${AHAV_KERNEL_DIR}/.post/.
$ cp ${AHAV_KERNEL_DIR}/.post/uImage ${AHAV_IMAGES_DIR}/${AHAV_PROJECT_NAME}/.
${AHAV_KERNEL_DIR}/.post/.
$ cp ${AHAV_KERNEL_DIR}/.post/uImage ${AHAV_IMAGES_DIR}/${AHAV_PROJECT_NAME}/.
이렇게 해서 AHAV9302 순대보드를 위한 리눅스 커널은 준비가 된 것이다.
이해 못할 부분들이 많이 있는데.. 일단 따라해보며 순대보드에 리눅스를 올리는 것까지 한 번 해보고, 필요한 부분들을 찾아가며 다시 공부를 해봐야 할 듯 하다.
무작정 하면 첨부터 완전 질려버려 아무것도 못할 듯... -_-;
'혼자서 놀기... > 순대보드(AHAV9302)' 카테고리의 다른 글
순대보드 u-boot - 4 (0) | 2009.09.02 |
---|---|
순대보드 u-boot - 3 (0) | 2009.08.11 |
순대보드 u-boot - 2 (0) | 2009.08.11 |
순대보드 u-boot - 1 (4) | 2009.04.02 |
순대보드 CrossCompile 환경 - 2 (0) | 2009.04.01 |
2009. 9. 2. 13:41
순대보드 u-boot - 4
2009. 9. 2. 13:41 in 혼자서 놀기.../순대보드(AHAV9302)
AHAV9302를 설정하는 파일들을 생성하거나 수정하는 작업이다.
지금부터는 적절하게 디렉토리를 생성하고, 전에 패치해서 생성된 파일들 중 필요한 파일들을 복사해서 수정하는 적업을 할 것이다.
$ mkdir board/ahav9302
$ cp board/cs-e9301/* board/ahav9302/.
$ mv board/ahav9302/cs-e9301.c board/ahav9302/ahav9302.c
새로 생성하고 복사를 한 디렉토리 "/board/ahav9302/"를 보면 총 7개의 파일(Makefile, config.mk, pll_cfg.S, ahav9302.c, sdram_cfg.S, u-boot.lds)이 있는 것을 확인할 수 있다. 각각의 파일은 AHAV9302 보드에 맞도록 이리 저리 수정해야 한다.
그런데.. 어떤 식으로 수정을 해야 한다는 것인지..
"각각의 파일들을 수정하는 이유에 대해서 이 강좌에 일일이 써내려 가다가는 너무 오래 걸릴것으로 판단이 됩니다. 이전의 강좌에서 하드웨어 주소의 설정을 참고하신다면, 수정한 이유등에 대한 것은 그다지 고민할 부분은 아니라고 생각이 듭니다."라고 강의에는 되어 있는데.. 도통 감이 오질 않는다.
일단 따라하기니깐 나중에 다시 생각하기로 하고.. 따라하자!!! ㅎ
아.. 위처럼 디렉토리를 만들고 파일들을 수정해도 되지만, 아래의 파일을 압축을 풀어서 해당 디렉토리로 복사를 해도 된다. 강의 하시는 "순대국밥"님이 미리 만들어 두신 파일들이다.
7개의 파일 중 flash_cfg.S와 u-boot.lds 파일을 제외한 파일들은 모두 수정이 된 파일이니, 수정되기 전과의 바뀐 부분이 무엇인지 보는 것도 도움이 될 것이다. '데이터 시트'도 꼼꼼히 보라는데.. 개인적으로 데이터 시트만 보면 아직 익숙치 않아 그러는지 눈도 침침해지고 졸리기까지 하다.. -_-
그 이외의 필요한 파일들을 수정해 주어야 한다.
vi 에디터를 사용해 vi common/cmd_boot.c 파일을 연다.
31번 라인 위 아래의 #if, #endif 구문을 주석처리 한다.
62번 라인을 아래와 같이 수정한다.
저장을 하고 파일을 닫는다.
다시 vi 에디터를 사용해 "common/cmd_bootm.c"파일을 열고 아래와 같이 수정을 한다.
470라인 정도에 위의 그림과 같은 부분이 있다. "#ifdef ~ #endif" 부분을 주석처리 한다.
다음은 네트웍과 CPU 관련된 부분의 작업이다. 아래의 "순대국밥"님이 미리 만들어 놓은 파일을 받아서 압축을 풀고 기존의 위치에 복사해 넣으면 된다. 아직 무슨 내용인지는 모른다... -_-;;
압축을 풀면 아래의 4개의 파일이 존재한다. u-boot 루트 디렉토리에서 경로를 찾아 복사를 한다.
net/eth.c
net/net.c
cpu/arm920t/ep93xx/eth.c
cpu/arm920t/ep93xx/cpu.c
여기까지 진행을 하면 정상적으로 동작하는 u-boot에 대한 수정이 완료된 것이다. 컴파일을 해서 AHAV9302를 위한 u-boot.bin을 생성을 하자.net/net.c
cpu/arm920t/ep93xx/eth.c
cpu/arm920t/ep93xx/cpu.c
$ make ARCH=arm CROSS_COMPILE=arm-elf- distclean
$ make ARCH=arm CROSS_COMPILE=arm-elf- clean
$ make ARCH=arm CROSS_COMPILE=arm-elf- ahav9302_config
$ make ARCH=arm CROSS_COMPILE=arm-elf-
$ make ARCH=arm CROSS_COMPILE=arm-elf- clean
$ make ARCH=arm CROSS_COMPILE=arm-elf- ahav9302_config
$ make ARCH=arm CROSS_COMPILE=arm-elf-
컴파일이 완료되면 u-boot.bin 파일이 생성되어 있는 것을 볼 수 있다.
u-boot.bin 을 생성하면 mkimage라는 파일이 하나 생기는데, 이 파일을 다음과 같이 링크를 걸어준다.
$ sudo ln -s /opt/arm9sbc/ahav/build/u-boot-1.1.6/tools/mkimage /usr/bin/mkimage
이제 AHAV9302보드에 생성한 u-boot.bin을 옮기는 작업을 할 것이다.
"Cirrus Logic 사이트"에서 다운로드 툴(Download.zip)을 다운로드 받아서 사용할 것이다.
윈도우즈 상에서 Download.zip를 다운을 받아 압축을 푼다. 그리고 이 디렉토리에 u-boot.bin 파일을 옮긴다. 예전에 삼바를 구축하였기 때문에 삼바로 리눅스 기계로 접근을 해서 u-boot.bin 파일을 복사해 오면 될 것이다.
윈도우즈의 명령 커맨드창(cmd)를 열어 Download 디렉토리로 이동을 한 뒤 다음과 같이 입력하고 엔터키를 누른다.
아래의 화면과 같이 나온다면 정상적으로 u-boot.bin파일을 AHAV9302 보드로 옮긴 것이다.
AHAV9302 보드를 부팅해보자!
'혼자서 놀기... > 순대보드(AHAV9302)' 카테고리의 다른 글
순대보드 Kernel Image (0) | 2009.09.02 |
---|---|
순대보드 u-boot - 3 (0) | 2009.08.11 |
순대보드 u-boot - 2 (0) | 2009.08.11 |
순대보드 u-boot - 1 (4) | 2009.04.02 |
순대보드 CrossCompile 환경 - 2 (0) | 2009.04.01 |
2009. 9. 1. 20:28
▶◀ 장진영님, 더 좋은 곳에서 건강하세요..
2009. 9. 1. 20:28 in TodayIs/오늘의 사건 사고
올해는 정말이지 너무나도 많은 알려진 분들이 돌아가셨다.
노무현 전 대통령, 김대중 전 대통령, 최진실씨, 마이클 잭슨 등..
오늘도 한 분이 돌아가셨다. 1여년동안 암으로 고생을 하시다가 가신 장진영님..
반칙왕이라는 영화로 처음 알게 되었고, 무척이나 좋아했었던 배우였고, 상태가 호전 된다고들 하는 기사를 보고 별 생각을 안했었는데.. 너무나 가슴이 아프다.
병든 그녀곁에 일년동안 함께 있었던 남자친구가 참 대한할 따름이고, 가슴아픈 사랑을 이루지 못한채 다른 곳으로 떠나버린 영화같은 현실이 또한 가슴이 아프다. 차라리 영화였다면.. 드라마였다면..
아프다가 돌아가셨으니, 다른 곳에선, 하늘나라에선 절대 아프지 말고 행복하길 바랍니다.
'TodayIs > 오늘의 사건 사고' 카테고리의 다른 글
첼시 vs. 리버풀 2:0 (0) | 2009.10.05 |
---|---|
Fantastic Liverpool!! vs Hull City 6:1 (0) | 2009.09.28 |
걱정마라!! 리버풀은 갈수록 강해진다!! (0) | 2009.08.17 |
네이트온 메신저 사기를 조심하라!!! (0) | 2009.08.12 |
이거슨 보이스 피슁 ??? (0) | 2009.08.10 |
나는 소프트웨어 쟁이였구나..
데이터 시트를 보고, 메모리 맵을 보고 0x~로 된 녀석들이 당최 한눈에 들어오질 않는다.
전 부터 한 번쯤 정리를 해야지 라고 생각만 하다가.. 오늘에서야 소원 성취한다.
1 byte |
= |
8 bit |
= |
0x0000
0001 |
1 KB |
= |
1024 byte |
= |
0x0000
0400 |
1 MB |
= |
1024 KB [(1024*1024)byte] |
= |
0x0010
0000 |
2 MB |
= |
2048 KB |
= |
0x0020
0000 |
4 MB |
= |
4096 KB |
= |
0x0040
0000 |
8 MB |
|
|
= |
0x0080
0000 |
16 MB |
|
|
= |
0x0100
0000 |
32 MB |
|
|
= |
0x0200
0000 |
64 MB |
|
|
= |
0x0400
0000 |
128 MB |
|
|
= |
0x0800
0000 |
256 MB |
|
|
= |
0x1000
0000 |
512 MB |
|
|
= |
0x2000
0000 |
1 GB |
= |
1024 MB |
= |
0x4000
0000 |
2GB |
= |
2048 MB |
= |
0x8000
0000 |
어떤 데이터 시트를 보면 Mbit 라고 되어 있는 애들도 있다.
이 녀석은 bit 단위로 계산을 해서 나온 녀석인데, 1Byte가 8bit 이므로 /8을 해주면 byte 단위로 알아 먹을 수 있다.
이렇게 정리를 하고나니 속이 다 시원하다 ㅎ
당최 알아먹기 힘들었던 bit의 세상에 눈을 뜬 기분!!
'혼자서 놀기...' 카테고리의 다른 글
VMware - keyboard hook timeout... error 해결책 (1) | 2009.11.29 |
---|---|
Little Endian 과 Big Endian (0) | 2009.10.06 |
VMware http://vmware.com/info?id=97. 오류 해결 방법 (0) | 2009.08.05 |
Ubuntu 에서 리눅스 개발환경 설정 (0) | 2009.06.22 |
Ubuntu에서 NFS setting (0) | 2009.06.19 |
'vi 에서 문자열을 편하게 바꾸고 싶다. '
그간 바꾸고자 원하는 단어나 문자열을 지우고 바꾸는 단순 무식한 방법을 사용했다. 가장 간단하고 쉬우니깐!!
하지만, 여러개의 동일한 단어나 문자열을 다른 동일한 단어나 문자열로 바꾼다고 했을 때.. 그간 사용했던 방법은 정말 왕 무식한 방법이다.
사용법은 의외로 간단하다.
:%s/기존 문자열/바꿀 문자열/g
예를 들어 babo라는 문자열을 baba로 바꾸고 싶다면..
:%s/babo/baba/g
라고 하게 되면, vi 로 열고 있는 문서의 모든 babo라는 문자열을 baba로 바꾸게 된다.아래는 문자열을 치환하고자하는 방법에 따라 몇가지 종류를 나열한 것이다.
필요할 때 참고하면 될듯..
:s/기존 문자열/바꿀 문자열/ - 커서가 있는 행에서 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:s/기존 문자열/바꿀 문자열/g - 커서가 있는 행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:%s/기존 문자열/바꿀 문자열/g - 전체 내용에서 기존 문자열을 바꿀 문자열로 치환
:%s/기존 문자열/바꿀 문자열/gc - 전체 내용에서 기존 문자열을 바꿀 문자열로 치환, 치환시 확인
:1,20s/기존 문자열/바꿀 문자열 - 1~20 행에서 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:1,20s/기존 문자열/바꿀 문자열/g - 1~20 행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:-2, +4s/기존 문자열/바꿀 문자열/ - 커서 위 2, 아래 4행 중 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:-2, +4s/기존 문자열/바꿀 문자열/g - 커서 위 2, 아래 4행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:s/기존 문자열/바꿀 문자열/g - 커서가 있는 행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:%s/기존 문자열/바꿀 문자열/g - 전체 내용에서 기존 문자열을 바꿀 문자열로 치환
:%s/기존 문자열/바꿀 문자열/gc - 전체 내용에서 기존 문자열을 바꿀 문자열로 치환, 치환시 확인
:1,20s/기존 문자열/바꿀 문자열 - 1~20 행에서 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:1,20s/기존 문자열/바꿀 문자열/g - 1~20 행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
:-2, +4s/기존 문자열/바꿀 문자열/ - 커서 위 2, 아래 4행 중 처음 나오는 기존 문자열을 바꿀 문자열로 치환
:-2, +4s/기존 문자열/바꿀 문자열/g - 커서 위 2, 아래 4행에 나오는 모든 기존 문자열을 바꿀 문자열로 치환
더 많은 내용은 'KLDP의 vi, vim 활용에 관한 문서'를 참조하면 될 듯 하다.
'Linux > Tip' 카테고리의 다른 글
우분투 / 데비안 계열 고정 ip 설정 (4) | 2010.01.06 |
---|---|
diff and patch in linux (0) | 2009.12.12 |
Ubuntu 한국 업데이트(kr.archive.ubuntu.com) 미러 접속문제.. (1) | 2009.08.25 |
예쁜 쉘 프롬프트 (1) | 2009.03.18 |
리눅스 IP 설정 (0) | 2008.04.24 |
2009. 8. 28. 14:29
LXR(Linux Cross-Reference)
2009. 8. 28. 14:29 in Linux/Kernel
'LXR' 이라고 리눅스 커널 소스를 볼 때 아주 유용한 사이트가 있다.
리눅스 커널 버전별로 정리가 되어있고, 각 함수라든지, 변수 등이 링크되어있어 편하게 소스를 분석할 수 있다.
사실 편하긴 하지만 소스 분석하는것이 쉬운것은 절대 아닌듯 하다. -_-;;
온라인에서 뿐만 아니라 'LXR' 이라는 툴을 리눅스 기계에 설치해서 커널 소스 이외에도 다른 프로젝트들을 lxr 사이트처럼 문서화 해서 사용할 수 있다고 한다.
왜 나만 모르는 듯한 기분이 드는건지.. -_-;
오픈소스쪽에 가면 정말이지 생각도 못한 툴이나 프로그램들이 넘쳐나는 듯 하다.
무식이 죄라는 말.. 한번 더 공감!!
'Linux > Kernel' 카테고리의 다른 글
커널 컴파일(kernel compile - make install) 에러 (0) | 2010.03.03 |
---|---|
make menuconfig 에러 (0) | 2010.03.03 |