OS (49) 썸네일형 리스트형 Workbench 3.x에서 자동 생성된 Makefile의 시작 위치 설정하기 기본적으로 Workbench에서 생성된 Makefile은 .wrmakefile 및 .wrproject의 정보를 기반으로 자동생성된다. 여러명이 같은 Workspace를 바라보다 보면, 임포트하는 위치에 따라 Mafefile의 위치가 달라 버전관리하기가 여간 까다로운게 아니다. 이에 완벽하지는 않지만, 나름 방법이 있어 정리하고자 한다. 자동생성된 Makefile을 보면, 주요 변수는 WS_ROOT_PATH와 PRJ_ROOT_PATH 임을 확인할 수 있다. 이를 GNU make 파일의 Overriding 을 이용하면, 원하는 위치의 Workspace를 사용할 수 있다. wrenv.exe -p 6.9 make -f Makefile WS_ROOT_PATH="C:/Somewhere/youwant" 잘만 활용하면.. 오래된 Ubuntu 릴리즈 계속 사용하기 오래된 Ubuntu를 설치하여 사용해야 되는 상황이 있었는데, apt-get 명령으로 원하는 패키지를 설치할 수가 없었다. sudo apt-get update ...Err http://us.archive.ubuntu.com lucid-updates/restricted Sources 404 Not Found [IP: 91.189.91.23 80]Err http://us.archive.ubuntu.com lucid-updates/universe Packages 404 Not Found [IP: 91.189.91.23 80]Err http://us.archive.ubuntu.com lucid-updates/universe Sources 404 Not Found [IP: 91.189.91.23 80]Err ht.. Synology NAS에서 nohup 적용하기 Telegram BOT을 기껏 만들어 Synology NAS에서 서비스 하려고 했는데...nohup 이 적용이 안되는 현상이 일어나서 검색해보니 아래와 같은 해결책이 있었다. http://grigrigo.tistory.com/category/NAS(Synology%20214Play) 삽질의 연속... WindRiver Workbench 3.2이상 에서 특정 Plug-in을 설치하기 플러그인을 설치하기 위해 Help 메뉴를 방문해서 Install New Software 메뉴를 찾을 수 없다. 일부러 숨긴듯 하다. 그래서... 1. Help -> Search 에서 "Updating and installing software" 의 키워드로 검색한다. 2. 검색되어 나온 Help 페이지에서 "Installing new software"를 선택한다. 3. 검색된 절차 중에서 "1. Click Help > Install New Software..." 을 선택하면, 새 창이 뜨면서 플러그인 설치가 가능할 것이다. 그래서 기껏 Workbench 3.2에 QAC++ 플러그인을 설치해봤는데 안된다. -_-;; VxWorks Simulator 네트워크 연결하기 VxWorks 6.x의 Simulator에서 네트워크를 사용하기 위해서는 별도의 설정이 필요하다. 1. WRTAP 설정 1.1 제어판을 연다. 1.2 하드웨어 추가 마법사를 실행한다. 1.3 "예, 하드웨어를 이미 연결했습니다." 를 선택한다. 1.4 "새 하드웨어 장치 추가" 를 선택한다. 1.5 "목록에서 직접 선택한 하드웨어 설치(고급)" 을 선택한다. 1.6 "네트워크 어댑터" 를 선택한다. 1.7 %WindRiver%vxworks-6.x\host\x86-win32\bin 폴더에 있는 wrtap.inf 를 선택한다. ex) C:\WindRiver\vxworks-6.8\host\x86-win32\bin 1.8 "WindRiver WRTAP"을 선택한다. 1.9 설치를 수행한다. 2. vxsimnet.. VIM cheat sheet http://michael.peopleofhonoronly.com/vim/ PPC9A/SBC310에서 ethernet 카드의 mac address 가져오기 sysLib.c에 정의되어 있는 rsMacStringGet 함수나 mac 주소를 가지고 있는 sysMacAdrs 변수에 접근하면 된다. uiPortNum는 0 / 1 번 이더넷 인터페이스 카드를 구분할 때 사용된다. 예제 코드 #include "vxWorks.h" #include extern "C" STATUS rsMacStringGet( char* pcPortName /* "motetsec", etc */ , UINT uiPortNum /* e.g. 0, 1 etc */ , char* pcMacString /* where to put the return ascii string in the format "nn-nn-nn-nn-nn-nn" (i.e. at least 18 chars reqd) */ ); e.. Vxworks에서 ip / udp header checksum 계산 ip / udp 헤더 조작 후 checksum 생성할 필요가 있을때 아래의 api를 활용한다. #include #include #include 를 포함한 후에,(include base는 ../target/h/wrn/coreip 이다.) 아래의 함수를 사용한다. u_short get_ipsum (struct ip *); u_short get_udpsum (struct ip *, struct udphdr *); dhcp.h 헤더 파일이 없을 경우(vxworks6.5이후 버전에서는 ipnet으로 통합되었다고한다.) 아래의 링크를 확인하여 직접 구현해도 된다. http://www.2beanet.com/vxworks/target/src/dhcp/interface.c.html