전체 글 (245) 썸네일형 리스트형 Rhapsody :: Class Attribute들의 Accessor/Mutator를 inline 함수로 만들기 가끔 클래스 멤버들(attribute)에 대해 자동으로 생성되는 accessor/mutator들에 대해 inline 함수로 만들고 싶은 경우가 있다. 아래와 같이 설정을 바꿔 주면된다. 1. 해당 클래스를 열어 attributes 속성을 선택하여 Property 창을 연다. 2. Properties 탭을 선택하여 inline으로 검색한다. Attribute >> Inline을 in_header로 선택하고 Code Generation을 수행하면 된다. C Macro 활용 다음에 참고하기 위해 쓴다. #define DebugRtiData(name) do { \ for (int i = 0; i < data_seq.length(); ++i) { \ if (info_seq[i].valid_data) { \ name##TypeSupport::print_data(&data_seq[i]); \ } \ } \ } while ( 0 ) 사용예 DebugRtiData(FCE_AIDLC_CTRL); Vxworks에서 Telnet 클라이언트 제어하기 설명 리모트에 있는 텔넷 서버에 접속하여, 원하는 커맨드를 받고 응답을 받아 수행시키는 프로그램을 작성해야 했다. 텔넷 클라이언트를 직접 구현하지 않았으며, Vxworks에서 기본으로 제공하는 telnet을 쉘에서 수행하여 read/write하는 예제이다. 해당 기능을 확인하는 용도로 만들었으며, 좀더 세밀하여 연결을 유지하고 연결 종료를 확인하는 소스는 추후 업데이트하기로 한다. 예제소스 #include #include #include #include #include #include #include #define MAX_LEN 1024 extern int shellTaskName; char commandBuff[100]; char recvBuff[100]; #define TELNET_CMD "telne.. Workbench 메모리 할당 늘리기 MemScope를 사용하다가 Workbench가 버벅되며 메모리 부족에러를 내며 죽는 현상이 발생하여, 구글 검색결과 아래와 같이 해결할 수 있었다. eclipse.ini 파일을 찾아서 수정하라고 하는데, Workbench에는 해당 설정파일을 찾을 수가 없었다. 아래와 같이 해결하였다. -Xms : 초기 힙 사이즈 -Xmx : 최대 힙 사이즈 C:\WindRiver\workbench-3.0\wrwb\platform\eclipse\wrwb-x86-win32.exe -vmargs -Xms256m -Xmx1024m MemScope 활용 개요 소프트웨어 디버깅시 가장 까다로운 에러중의 하나가 메모리 관련된 것이 메모리 누수(Leak)일 것이다. VxWorks 6.6에서는 MemScope를 제공하여, 메모리 전반에 걸친 디버깅 정보를 제공해주는 매우 유용한 툴이다. Workbench를 구입했다면 기본적으로 사용할 수 있다. 준비사항 첨부된 메뉴얼의 2.2 Requirements를 잘 읽어보고, 자신의 환경에 맞도록 설정해주어야 한다. 테스트 하려는 시스템의 경우 PowerPC를 사용하므로 메뉴얼에 나와있는대로 Kernel Configuration에서 다음의 옵션을 활성화해준다. operating system components >> kernel components >> Allow 32-bit branches to handlers 실행 타켓.. Raw Socket :: 패킷을 구성하여 전송하자. Vxworks 6.x에서 Raw Socket을 사용하여, IP/UDP 헤더를 조작하여 해당 패킷을 전송하는 예제이다. UDP 체크섬은 0을 채워 전송하였다. #include #include "vxLib.h" #include "ipProto.h" #include "netinet/in.h" #include "netinet/in_systm.h" #include "netinet/if_ether.h" #include "netinet/ip.h" #include "netinet/ip_icmp.h" #include "netinet/udp.h" #include "sys/socket.h" #include "sockLib.h" #include "inetLib.h" static int s_iIpId = 0; #pragma p.. VxWorks에서 arpLib 사용 VxWorks에서 이더넷 헤더의 mac 어드레스를 조작하기 위하여 arpLib를 사용하였다. 간단히 사용방법을 적는다. 10.100.10.2 : vxworks 임베디드 보드 10.100.10.90 : 노트북 상황은 이렇다. 10.100.10.90에서 네트워크에 존재하지 않는 10.100.10.3으로의 arp를 요청하였을때 10.100.10.2의 vxworks에서 arpLib를 사용하여 10.100.10.3 arp 요청이 왔을때 특정 맥 주소로 응답하게 하는 것이 목적이다. 이를 위하여 vxworks의 arpLib를 사용한다. 전반적인 API는 링크를 확인한다. 커널 옵션에서 아래의 컴포넌트를 추가한다. Network Components >> Network Utility Components > arpLib.. 파이썬 링크 모음 왕초보를 위한 파이썬 프로그래밍 강좌 열혈강의 파이썬 점프 투 파이썬 앨런 굴드의 강좌 (한글, 영어) 이전 1 ··· 16 17 18 19 20 21 22 ··· 31 다음