컴퓨터공학 dhson 2022. 9. 21. 18:00
dead code 제거 : 도달되지 않는 코드, 컴파일러 입장에서 불필요한 코드라고 판단되는 코드는 삭제해버린다. : 휘발성의, 변덕스러운, 순간적인 변수의 값은 현재 프로그램 내에서 뿐만 아니라 다른 프로세스나 하드웨어에 의해서 변할 수도 있다. 이러한 경우, 현재 프로그램 내에서는 이 변수의 값이 전혀 변하지 않는 것처럼 보인다. 컴파일러 눈에는 현재 프로그램 소스만 보이기 때문에 변수가 다른 요소에 의해서 변한다는 것을 이해할 수 없다. 그러므로 최적화를 수행하면 메모리로부터 새로운 값을 읽어오지 않고, 기존의 초기 값으로 프로그램을 수행시킨다. #define TEMP (*(unsigned int *)0x001) //온도센서가 사용할 주소 void main(void) { int a[10],i,j; ..
더 읽기
컴퓨터공학 dhson 2022. 9. 21. 12:00
십진수 3 = 011 (2) ->LED2,3의 불이 켜지도록 한다. 해당 포트에 0을 쓰면 ON, 1을 주면 OFF char *p = (char *)0x30000000; void init(void); void display(int digit); void main(void) { int I,j; init(); while(1) { for(i=0;i
컴퓨터공학 dhson 2022. 9. 21. 00:08
임베디드 시스템 : 범용의 목적이 아닌 정해진 용도에 국한된 기능을 제공해준다. 범용의 목적이 아니므로 각 시스템은 특수 목적을 가지고 제작되기 때문에 시스템을 구성하는 장치나 소프트웨어가 제한적이다. 대부분의 임베디드 시스템은 하드웨어와 소프트웨어를 병행하여 개발 임베디드용 프로세서는 PC용과 다를까? 그렇다 ARM , MIPS, StrongARM, SA1110, PPC, PXA255 실시간성을 제공하는 시스템에서는 고성능 프로세서가 필요, 이동성을 고려해 전력소모 작아야 하고, 가격도 싸고, 크기도 작아야 한다. PC용 소프트웨어를 개발할 때는 개발환경 = 실행환경 (개발하는 시스템의 프로세서와 프로그램이 실행될 시스템의 프로세서가 같다)-> 네이티브 개발환경 임베디드 소프트웨어 개발할 때 개발환경 ..