embeded/AVR (ATmega,ATtiny)2011. 12. 29. 19:31
내장 SRAM은 16KB가 최대이고, Flash는 128KB EEPROM은 4KB가 최대이다.


Device
Flash (Kbytes) SRAM (Kbytes) EEPROM (Bytes)
ATmega8 8 1 512
ATmega8515 8 0.5 512
ATmega8535 8 0.5 512
ATmega16 16 1 512
ATmega32 32 2 1024
ATmega64 64 4 2048
ATmega128 128 4 4096
ATmega162 16 1 512
ATmega48 4 0.5 256
ATmega88 8 1 512
ATmega168 16 1 512
AT90CAN128 128 4 4096
ATmega325 32 2 1024
ATmega3250 32 2 1024
ATmega6450 64 4 2048
ATmega645 64 4 2048
ATmega329 32 2 1024
ATmega3290 32 2 1024
ATmega649 64 4 2048
ATmega6490 64 4 2048
ATmega640 64 8 4096
ATmega1281 128 8 4096
ATmega2561 256 8 4096
ATmega2560 256 8 4096
ATmega1280 128 8 4096
ATmega644 64 4 2048
AT90CAN32 32 2 1024
AT90CAN64 64 4 2048
AT90USB1286 128 8 4096
AT90USB1287 128 8 4096
AT90USB647 64 4 2048
AT90USB646 64 4 2048
ATmega164P 16 1 512
ATmega324P 32 2 1024
ATmega165P 16 1 512
ATmega169P 16 1 512
ATmega644P 64 4 2048
AT90PWM1 8 0.5 512
ATmega329P 32 2 1024
ATmega3290P 32 2 1024
ATmega325P 32 2 1024
ATmega3250P 32 2 1024
AT90USB82 8 0.5 512
AT90USB162 16 0.5 512
AT90PWM216 16 1 512
AT90PWM316 16 1 512
ATmega48P 4 0.5 256
ATmega88P 8 1 512
ATmega168P 16 1 512
ATmega328P 32 2 1024
AT90PWM3B 8 0.5 512
AT90PWM2B 8 0.5 512
ATmega32U4 32 3.3 1024
ATmega1284P 128 16 4096
ATmega16U4 16 2.1 512
ATmega16A 16 1 512
ATmega32A 32 2 1024
ATmega88PA 8 1 512
ATmega324PA 32 2 1024
ATmega48PA 4 0.5 256
ATmega164PA 16 1 512
ATmega64A 64 4 2048
ATmega128A 128 4 4096
ATmega8A 8 1 512
ATmega168PA 16 1 512
ATmega8U2 8 0.5 512
ATmega16U2 16 0.5 512
ATmega32U2 32 1 1024
ATmega644PA 64 4 2048
ATmega16M1 16 1 512
ATmega32M1 32 2 1024
ATmega64M1 64 4 2048
ATmega169PA 16 1 512
ATmega48A 4 0.5 256
ATmega88A 8 1 512
ATmega168A 16 1 512
ATmega328 32 2 1024
ATmega164A 16 1 512
ATmega324A 32 2 1024
ATmega644A 64 4 2048
ATmega1284 128 16 4096
AT90PWM81 8 0.25 512
ATmega165PA 16 1 512
ATmega325A 32 2 1024
ATmega3250A 32 2 1024
ATmega645A 64 4 2048
ATmega645P 64 4 2048
ATmega6450P 64 4 2048
ATmega6450A 64 4 2048
ATmega169A 16 1 512
ATmega329A 32 2 1024
ATmega649A 64 4 2048
ATmega3290A 32 2 1024
ATmega649P 64 4 2048
ATmega6490A 64 4 2048
ATmega6490P 64 4 2048
ATmega329PA 32 2 1024




[링크 : http://atmel.com/dyn/products/param_table.asp?category_id=163&family_id=607&subfamily_id=760]
Posted by 구차니
프로그램 사용/gcc2011. 12. 28. 11:05
기억력 감퇴인가.. 아무튼 c언어에서는 2진수 표기를 할 방법이 없어서
16진수로만 하는데 검색을 하다 보니 이상한 문장을 발견 -_-
  
보통 c에서는 00111111b 와 같이 사용하는데, 2진수로 바로 쓰려면 어떻게 해야하나요?
아시는 분 있으면 답변해주시면 감사하겠습니다. ^^; 

[링크 : http://www.terabank.co.kr/bbs/zboard.php?id=comunity01...no=1343]
[링크 : http://donghwada.tistory.com/entry/ATmega-Pin-Configurations-DDR-PORT-PIN]

gcc에서 제공하는 비표준 C문법으로
0x0000 이라고 16진수를 입력하듯
0b0000 이라고 2진수를 입력이 가능하다.

물론 vi에서도 인식되지 않는 문법이라 문법강조도 되지 않음 -_-
+ winavr역시 gcc 의 한 종류 이므로 이러한 문법을 허용한다.

$ vi temp.c 
  1 #include <stdio.h>
  2
  3 void main()
  4 {
  5     unsigned char binval = 0b1000000;
  6     unsigned char binval2= 10000;
  7 }
 
$ gcc temp.c
temp.c: In function ‘main’:
temp.c:6: warning: large integer implicitly truncated to unsigned type 

Most people use hexadecimal for binary numbers in C.
(GCC and some other compilers have an non-standard 0b####### extension

[링크 : http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=64658]  

흐음.. C99 표준에 넣으려다가 기각당했군 -ㅁ-
dl8dtl - Nov 26, 2006 - 08:38 PM
Post subject: RE: Binary constants in IAR C ?
> Binary notation was added in C99 if I remember correctly. 

No, it's been rejected by the committee. 

In the C99 rationale, you can find under 6.4.4.1 Integer constants: 

``A proposal to add binary constants was rejected due to 
lack of precedent and insufficient utility.'' 

So please tell your (national) standards body there *is* sufficient utility for 
it. As for the first part, I'm trying to get the 0b patch officially 
as an extension into GCC. Once that happened, there will be at least 
one very prominent C implementation that sets a precedent case. ;-) 
All those microcontroller implementations are probably nothing the ISO 
C standardization body might be aware of, but for sure, GCC is. 

> IAR is not fully up to C99 yet, 

It's about the most complete C99 implementation I've seen.  

[링크 : http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=44082&start=0]

그나저나.. 0000b 는 누구 문법일까?
Posted by 구차니
embeded/AVR (ATmega,ATtiny)2011. 12. 28. 07:57
매번 헷갈리는 지라...
아무튼  PORT는 값을 쓰는 용도
PIN은 값을 읽어 들이는 용도
DDR은 읽는용으로 쓸지 쓰는 용으로 쓸지를 정해주는 용도이다.
DDR 값이 0 이면 PORT 에 쓰고
DDR 값이 1 이면 PIN 으로 읽어 오면 된다.

PORTA - Port A Data Register
DDRA  - Port A Data Direction Register
PINA  - Port A Input Pins Address 

The DDxn bit in the DDRx Register selects the direction of this pin.
If DDxn is written logic one, Pxn is configured as an output pin.
If DDxn is written logic zero, Pxn is configured as an input pin. 

Three I/O memory address locations are allocated for each port,

one each for the Data Register - PORTx,
Data Direction Register - DDRx,
and the Port Input Pins - PINx.

The Port Input Pins I/O location is read only, while the Data Register and the Data Direction Register are read/write.
In addition, the Pull-up Disable - PUD bit in SFIOR disables the pull-up function for all pins in all ports when set.

[링크 : http://www.atmel.com/dyn/resources/prod_documents/doc2467.pdf] 

[링크 : http://donghwada.tistory.com/entry/ATmega-Pin-Configurations-DDR-PORT-PIN]
Posted by 구차니
예를들어 폭행사건이 있다.
폭행사건의 피해자는 당연한 권리로 가해자를 "신고" 한다.
법적인 조치후 사회적 규범인 "빨간줄이 그인다"

이러한 이야기 중
가해자의 "신호"는 이러한 이야기 진행의 주요한 전제로서
피해자가 신고하지 않았으면 일도 커지지 않았는데
신고했기 때문에 일이 커지고
신고했기 때문에 줄이 그이게 되었으므로
피해자는 신고자가 된다.


어디까지가 상식이고
어디까지가 비상식인걸까?




이러한 사건을 겪으면서 피해자가 쉬쉬하고
가해자가 소리치게되는 이유를 뼈저리게 느끼게 된다.

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

아 출근하기 싫다  (2) 2012.01.08
아 힘들다  (4) 2012.01.05
아잉패드2 지르겠어!  (2) 2011.12.24
으아앙 휴가인데!!!  (2) 2011.12.22
무언가를 많이 안다는 것  (0) 2011.12.20
Posted by 구차니
embeded/AVR (ATmega,ATtiny)2011. 12. 26. 17:13
PROGMEM 매크로는 RAM에 변수를 선언하는게 아니라
보조 기억 장치에 데이터를 저장하게 하는 선언이다.

#include <avr/pgmspace.h>
// #define PROGMEM   __ATTR_PROGMEM__
// #define pgm_read_byte ( address_short   )     pgm_read_byte_near(address_short)
// #define pgm_read_byte_far ( address_long   )     __ELPM((uint32_t)(address_long))
// #define pgm_read_byte_near ( address_short   )     __LPM((uint16_t)(address_short))
  
unsigned char mydata[11][10] PROGMEM; 
[링크 : http://blog.naver.com/6k5tvb/120124621988]



근데.. 그냥 c에서 이렇게 하는게 머더라... -_-

'embeded > AVR (ATmega,ATtiny)' 카테고리의 다른 글

ATMEL AVR 시리즈별 플래시 / 메모리 용량  (2) 2011.12.29
avr ddr pin port  (0) 2011.12.28
AVR LIBC 사용자 설명서 (user manual)  (0) 2011.11.18
AVR Studio 5 + STK-500 + ATmega128 = fail  (6) 2011.11.15
AVR Studio 5  (4) 2011.11.12
Posted by 구차니
하드웨어2011. 12. 25. 22:27
리눅스로 전체하드 포맷하고 깔고 나서
F11 눌러서 LG 복구 진행하면 복구가 되는게 신기한데.. 

1. 하드가 특수하게 나누어진 녀석이거나
2. 하드외에 외장 USB 형식으로 별도의 숨겨진 드라이브가 있다거나

둘중에 하나일텐데.. 아무튼 무진장 신기.. 



사족
1. 리눅스 깔아놓고 복구 들어가면 GRUB 로더 날아감 -_-
     복구는 하지 않고 단순히 들어갔다 나오는데도.. OTL
2. LW20 / LW25 둘다 이런 복구 시스템을 갖추고 있는데 도시바 60G 4200RPM 2M MK6008GAH 하드를 사용중이고
    실제 60GB 밖에 안되어 숨겨진 영역이 없음에도 불구하고 복구가 되는게 신기함 

[링크 : http://storage.toshiba.com/main.aspx?Path=StorageSolutions/1.8-inchHardDiskDrives/MK6008GAH]
[링크 : http://shopping.naver.com/detail/detail.nhn?cat_id=01050113&nv_mid=4026629558]

'하드웨어' 카테고리의 다른 글

PC 기반 오실로스코프(USB Oscilloscope)  (2) 2012.01.09
URB  (0) 2012.01.09
combiner / 컴바이너  (0) 2011.12.22
패러럴 연장 / FX 케이블  (0) 2011.12.09
PCI-Ex 관련 골때리는(?) 물품  (0) 2011.12.06
Posted by 구차니
Linux2011. 12. 25. 19:32
sudo는 일시적으로 root 권한을 받아와서 실행하는
setUID / setGUID 프로그램이고 정책(policy)의 일종이다.
즉, 이러한 권한 자체가 설정이 잘못되었을 경우 도용으로 인한 프로그램의 실행을 막을 방법은 없다는 것이다.
그런 이유로 커널수준에서 특정 권한을 막을 방법이 필요하게 되었고 이를 보완하기위해 만들어진 것이 selinux 이다.
라고는 하는데..

솔찍히 Fedora 쪽에서는 sudo의 주력 도입이 debian 보다는 늦은 편이었고
그로 인해서 초기에 sudo에 익숙해지는데 조금 불편함을 느꼈지만
반대로 Fedora에서는 초기에 selinux를 넣은데 반해 우분투에서는 기본 패키지로 추가하지 않아
Selinux를 끄거나 하는 불편함은 존재하지 않는걸 봐서는 미묘한 배포판의 컨셉의 차이라고 해야하나...



SUDO
sudo는 /etc/sudoers의 설정에 따라 움직인다.
wheel은 페도라에서 사용하는 그룹으로 우분투의 경우 admin 그룹을 지칭하고
wheel/admin은 말그대로 관리자 권한을 가지는 그룹을 의미한다. 


wheel 그룹에 대한 간단한 설명

그룹 (Wheel)

휠그룹은 무엇을 위한 것인가? 대부분 오랫동안 사용되어오면서 모호한 표현이라 생각한다. 이것은 사용자 권한을 나누기 위해 사용된다. root, 휠그룹, 그밖의 사용자로 3개의 계층으로 분류되어 있다. 

보통 휠그룹은 그에 속한 그룹 사용자들만 su root 를 사용할 수 있도록 하는 기능이다. FSF(자유소프트웨어 재단) 그룹은 이 원칙에 별로 따르지 않는데 왜냐하면 그것이 수학적 알고리즘이 아니기 때문이다. 

사용자를 최소로 구분하는 것은 sudo 에 의한다. 가장 많은 sudo 권한을 위한 자격으로 휠그룹 멤버쉽이라 불리는 것이 있다. 

역사적으로 말하면 그것은 초기 BSD중의 하나에서 시작되었다 생각한다. 

휠그룹을 만들므로써 휠의 기능을 쉽게 다시 만들 수 있으며 그리고 su 와 sudo (둘다 setuid 프로그램이다.)를 wheel 그룹으로 만들고 나서 다른 사용자에 대해서는 사용권한을 제거한다. 

  # chgrp wheel /bin/su /bin/sudo
  # chown o-rwx /bin/su /bin/sudo

물론 이것은 실제적으로 정상적인 사용자들에게 su와 sudo 를 사용할 수 없게 만든다. 문제는 서버에 어떤 정상적인 사용자들이 있는가이다. 
 
[링크 : http://zicman.egloos.com/2449683]  

sudoer 추가하기 

Fedora 
# visudo                       #  /etc/sudoers 파일이 열린다. `%wheel ALL=(ALL)` 라인 추가
# usermod -G wheel <userid>

Ubuntu 
# visudo                       #  /etc/sudoers 파일이 열린다. `%admin ALL=(ALL)` 라인 추가
# usermod -G admin <userid>
 
[링크 : http://wiki.kldp.org/wiki.php/sudo]  

The sudo philosophy
===================
Sudo is a program designed to allow a sysadmin to give limited root privileges
to users and log root activity.  The basic philosophy is to give as few
privileges as possible but still allow people to get their work done.

[링크 : http://www.sudo.ws/sudo/readme.html]  

[링크 : http://www.sudo.ws/sudo/sudoers.man.html]

SELINUX
SELinux에 대해서는 머만 하려고 하면 다 막혀서 항상 FC4 이후로는 항상 끄고 살았던 기억만.. OTL

[링크 : http://www.ibm.com/developerworks/kr/library/l-selinux/
[링크 : https://wiki.ubuntu.com/SELinux
    [링크 : http://packages.ubuntu.com/lucid/selinux-policy-ubuntu

2010/02/04 - [Linux/Ubuntu] - sudo 사용가능하도록 설정하기

'Linux' 카테고리의 다른 글

localtime() 과 mktime()을 이용하기  (0) 2012.03.27
partitionless disk  (2) 2012.01.06
조이스틱 / 조이패드 on ubuntu  (2) 2011.12.23
iptables MASQUERADE (공유기 만들기?)  (0) 2011.12.04
리눅스를 라우터로 만들기  (0) 2011.12.02
Posted by 구차니
Microsoft/Windows2011. 12. 25. 15:00
ehrecvr.exe     -- Media Center Receiver Service
ehSched.exe   -- Media Center Scheduler Service
mcrdsvc.exe   -- MCRD Device Service

 세가지 모두 서비스에서 구동이 되며 
    Media Center Receiver Service
    Media Center Scheduler Service 
    Media Center Extender Service
이름으로 존재한다. 

'Microsoft > Windows' 카테고리의 다른 글

"System Volume Information" 폴더 들어가기  (2) 2012.02.24
LFH  (0) 2012.02.13
ntpasswd 주의점  (0) 2011.12.06
WinXP에서 SNMP 설치하기  (0) 2011.11.21
windows route 명령어  (0) 2011.11.18
Posted by 구차니
올해는 내가~ 살찐클로스~







돌이켜 보니 부모님 생신을 챙기지도 못했고
선물을 사드린것도 아니고
처음으로 한번 부모님께 산타클로스가 되어드리고 싶어서 지르러 가련다





내.... 내가... 필요해서 지르는건 아냐!









개소리 : 유비트 한판만 빌려서 하고 엄마아~ 응? 이러기 작전? 

----
지르고 나서 개봉을 하니 아빠 장난감이 된 느낌 -_- 
아버지에게 단단히 "엄마한테 인터넷 하는 법 꼭 알려줘!" 라고 약속받았음 ㅋ 

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

아 힘들다  (4) 2012.01.05
가해자가 피해자가 되는 이야기  (2) 2011.12.27
으아앙 휴가인데!!!  (2) 2011.12.22
무언가를 많이 안다는 것  (0) 2011.12.20
reboot  (0) 2011.11.30
Posted by 구차니
우분투에서는 그냥 하라는대로 하면 되긴되는데..
누가 서비스를 하는지 도무지 알수가 없다 -_-

일단.. git용으로 쓸만한 windows client가 없으니 후우...

[링크 : http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way]
Posted by 구차니