분류 전체보기 (224) 썸네일형 리스트형 web browser에서 Json Type 쉽게 보는 방법 검색창에 'Chrom web Store'를 검색하고 'Chrom 웹 스토어 - 확장프로그램' 링크로 이동한다. 'chrome 웹스토어'에서 json view를 검색한다. 'chrome에 추가'를 선택한다. 설치된 화면 web browser에서 json Data가 실행된 화면 '-' ', '+'기호를 클릭해 쉽게 json Data를 확인할 수 있다. Http GET URL 분석하기 네이버 웹툰 사이트에서 일별로 확인 가능한 것을 예로 살펴보자. https://comic.naver.com/webtoon/weekdayList.nhn?week=mon https://comic.naver.com/webtoon/weekdayList.nhn?week=tue https://comic.naver.com/webtoon/weekdayList.nhn?week=wed 상기 주소와 같이 URL에 변수를 포함시키는 형태를 Http GET 방식이라고 한다. 변수는 '?' 뒤에 붙는다. 이름=값&이름=값.... 단, 한글, 공백은 사용할 수 없다. user-agent 값 확인하기 크롤링을 할때 보안을 뚫기 위한 Session Update를 하고 싶을때 자신이 사용하고있는 브라우져의 user-agent 값을 확인하는 2가지 방법을 알아보자. 1. 자바스크립트 명령어로 확인하는 방법 만약 크롬환경이라면 새탭-> 첫페이지가 google 검색창이라면 naver를 검색한다. -> naver 메인으로 이동한 후 -> 검색창에 하기명령어를 입력한다. javascript:document.write(navigator.userAgent) (Mac 에서도 동일) 2. 개발자도구를 사용하는 방법 Chrome 기준으로 f12를 누르면 오른쪽에 개발자도구 창이 뜬다. 상단 'Network' 탭을 클릭하고 'f5'를 누른후 Name 리스의 첫번째(어디든 상관 없다.)를 클릭한 후 오른쪽 'Headers'를.. 예제로 보는 Pragma setting 7 ------------ 'Tasking MDS 세미나'에서 작업했던 내용을 정리합니다. ------------ 1. 모든 변수들의 align을 4로 설정 #pragma align 4 char var; char var0; char var1; char var2[10]; #pragma align restore 2.모든 변수를 near 타입으로 변환 하기 프라그마에서 size 2 속성은 프라그마 설정 안의 변수 사이즈가 2이하인 경우만 Pragma를 적용한다는 파라미터이다. 따라서 var6는 .bss로 LMU에 속한다. #pragma default_near_size 2 char var3; char var4; char var5; char var6[10]; #pragma default_near_size restor.. 각 코어별 DSPR 설정 방법 6 기존 메모리 구조는 하기 이미지와 같다. 각 코어별 DSPR에 위치 시키기위해서는 __Private#를 사용하면 된다. /***************************************************** * * TASKING_EDU.c * * Description : Hello World in C, ANSI-style * */ #include char var; char __private0 var0; char __private1 var1; char __private2 var2[10]; void /*__at(0x80000012)*/__private0 func0(void){ var = 10; var0 = var; } void __private1 func1(void){ var1 = var; } v.. user stack size 변경 5 USTACK_TC10 사이즈를 변경하고 Map에서 데이터 사이즈를 확인해 본다. .ls 파일에서 USTACK_TC0 의 값을 변경하여 빌드해보고 MAP 파일에서 사이즈를 확인해 본다. 16k 10k 8k .lsl를 사용한 Memory Section 이동 예제 4 .lsl를 사용해서 함수나 변수의 메모리 section을 수정 할 수 있다. 이 작업은 Linking 단계에서 수행되기 때문에 Compile에러가 아닌 Linking에러가 발생한다. 비 의도적인 작업이 진행 되어도 알기 어렵고, 사용자 실수로 인한 의도치 않은 메모리 충돌이 발생할 수 있으므로 반드시 Memory Section 설계자와 의논하여 수정하는 것을 권장한다. char var; char __private0 var0; char __private1 var1; char __private2 var2[10]; void func0(void){ var = 10; var0 = var; } void func1(void){ var1 = var; } void func2(void){ var2[1] = var; } i.. Linker Section에 따른 메모리 매핑 공간 3 Map파일을 보다보면 알수 없는 기호들이 있다. lnear, abs18, csa등 알아야하나 싶은 명칭들이 많고 이를 왜 구분하고 사용하는지 모르고 쓰는경우들이 많다. 이번에는 이런 섹션에 따라 매핑되는 공간에 대해 알아보자. 먼저 주소 공간 종류에는 하기와 같은 구분이 있다. - linear: 4GB의 모든 주소 공간의 지정 - abs18: 각 세그먼트의 처음 16KB(0xX000_000 ~ 0xX000_3FFF)의 주소공간 - abs24: 각 세그먼트의 처음 16KB(0xX000_000 ~ 0xX01F_FFFF)의 주소공간 -csa: Context Save Area로 context가 저장되는 공간. 모든 것을 다 안다는것은 좋지만 고닲은 일이다. 이 중에서 딱 linear, abs18 만 보도록하자... 메모리 Section별 수행시간 차이 분석 2 Infineon Tricore 27x Block Diagram을 확인해 보면 각각의 메모리가 CPU와 어떤식으로 연결되어 사용되는지 확인 가능하다. 각각의 CPU 와 메모리 종류별 수행시간 차이를 분석해 보자. 한가지 방법으로 T32의 RunTime 기능을 사용해 수행 시간을 비교할 수 있다.(여러 방법이 있다.) 가지고있는 제어기 TC297Tx는 코어가 3개 이므로 Core0에서만 작동하도록 셋팅 하였다. 데이터 섹션 한정자 종류 하기 이미지와 같이 자료형(int)와 변수명 사이에 한정자를 입력해 사용할 수 있다. 여기서 __at(0x90000000) tc0_far_var0는 'Segment 9'에 포함되는 주소이므로 LMURAM에 선언되도록 설정 한 것이다. 하기 테이블을 참조하자. 수행 소스코드는 .. Tasking사용 Infineon linker script 분석 1 제어기 개발을 진행하다 보면 메모리 사용 방법에 대한 고민을 하기 시작해야하는 시점이 온다. 자신이 개발한 소스코드가 하드웨어 메모리 기반으로 최적화 된 성능을 발현 시키고 싶다면. Linker Script를 사용한 메모리 Positioning을 시도해 보는것이 좋다.(feat. 교통정리) 예를 들어 멀티코어 환경(코어가 2개 이상인 경우)에서 코어에 바로 붙어있는 메모리(near)를 사용하고 모든 코어에서 사용되는 메모리는 LMU를 사용하면 메모리 접근을 최소화 할 수 있다. 각 메모리 위치별 수행시간 차이를 분석한 정보는 하기 링크에서 확인해 보자. https://suho413.tistory.com/entry/%EB%A9%94%EB%AA%A8%EB%A6%AC-Section%EB%B3%84-%EC%88.. 이전 1 ··· 15 16 17 18 19 20 21 ··· 23 다음