본문 바로가기

e-puck H/W e-puck 의 H/W 스펙 MCU: dsPIC 30F6014A 16bit, 64MHz, 16MIPS, 8kB RAM, 144kB flash memory, SENSORS: CODES: 더보기
e-puck에 FreeRTOS를 포팅하기. RTOS에는 여러 종류가 있지만 그 중 공짜로 사용할 수 있는 것은 tinyOS와 FreeRTOS정도가 있다. 이 중에서 FreeRTOS를 e-puck에 포팅해보자. e-puck에 들어가는 mcu는 dsPIC로 FreeRTOS에서 제공해주긴 하지만, 두 가지 문제가 있다. 1. e-puck에는 dsPIC30F가 들어가지만 FreeRTOS에서 제공하는 것은 dsPIC33F이다. PIC33FJ256GP710.gld => p30f6014A.gld 이를 변환하기 위해서 다음의 파일을 참고할 수 있다. 2. FreeRTOS는 explorer보드를 reference로 하고 있다. 즉 mcu주변 페리페럴이 많이 다르다. e-puck.org에서 기본으로 제공하는 port 초기화 함수는 다음과 같다. void e_ini.. 더보기
Load balance in Linux source level bottom-up analysis 리눅스에서 load balance는 load_balance()라는 함수와 각 스케쥴링 클래스에 있는 load_balance함수를 를 통해서 이루어진다. 후자의 경우 virtual function table에 의해서 load_balance_fair, load_balance_idle, load_balance_rt로 matching이 된다. 먼저 sched.c에 있는 load_balance()함수는 다음과 같다. static int load_balance(int this_cpu, struct rq *this_rq, struct sched_domain *sd, enum cpu_idle_type idle, int *balance) { int ld_moved, all_pinned = 0, active_balance.. 더보기
CV 보호되어 있는 글입니다. 더보기