로그인 | 회원가입
   이용안내    장바구니    주문조회    마이쇼핑    게시판
상품검색 검색 
아이디  
비밀번호
보안접속 보안접속
회원가입
  아이디찾기
  비밀번호찾기
상품목록
  ARM
  PIC
  AVR
  DSP
  MAXQ
  MSP430
  OTHER
게시판
공지사항
자유게시판
강좌-USB기타
자료실
샘플 기획전
전화: 031-429-0845
팩스: 031-477-1407
운영시간
  09:00 ~ 18:00
 
현재위치: > 게시판 > 강좌-USB기타
강좌-USB기타
USB및 기타자료입니다.


찾기
제목 UniFull 펌웨어 소스 정정 및 드라이버 업데이트 0  추천하기
작성자 글쓴이 작성일 2014-10-29 16:22:33 조회수 488
   
   

2005년 12월 19일 이전에 소스를 다운받으신 분들은 참고하시기 바랍니다.

이 이후에 받으신 분들은 해당 없습니다.

 

 

이제까지의 UniFull 펌웨어( v.1.0 ~ v1.21 )에 오류가 발견되어

해당 펌웨어 소스들을 모두 새로 업데이트 하였습니다.

 

정정 내용1.

d12ci.c 파일의 함수들에서 아래의 형식으로 되어있는 모든 함수들은

리턴값 함수이름 ( 인자들 )

{

    …

    if( cFlags & IN_ISR )

        DISABLE;

    …

    if( cFlags & IN_ISR )

        ENABLE;

    …

}

 

다음과 같이 고쳐졌습니다.

 

리턴값 함수이름 ( 인자들 )

{

    if( !( cFlags & IN_ISR ) )

        DISABLE;

    …

    if( !( cFlags & IN_ISR ) )

        ENABLE;

}

 

 

펌웨어원본 즉, 필립스 PDIUSBD12 EPP Evaluation Kit의 펌웨어를 보면 다음과 같습니다.

리턴값 함수이름 ( 인자들 )

{

        if(bEPPflags.bits.in_isr == 0)

                DISABLE;

        if(bEPPflags.bits.in_isr == 0)

                ENABLE;

}

 

 

제가 위와 같은 코드를 UniFull 코드로 수정할 때 착각해서 반대 의미의 코드로 변환해 놓았더군요.

if( cFlags & IN_ISR )를

if( !( cFlags & IN_ISR ) )로 바꾸어 주어야

강좌 “isr.c 1편” ②번에 대한 설명이 바르게 이해가 됩니다.

 

이제까지 이 잘못된 코드가 문제가 되지 않았던 것은

지금까지 강좌에는 인터럽트 처리 루틴이 아닌 MainLoop에서 d12ci.c의 함수들을 호출하지 않았기 때문입니다.

 

지적해 주신 Enarche 님께 감사드립니다.

 

 

 

정정 내용2.

펌웨어들의 Device Descriptor에서 Device ID부분이 일관성 없게

0x0010또는 0x0011로 되어 있던 부분도 모두 0x0010로 통일하였습니다.

제가 테스트 하던 펌웨어 버전이 강좌에 섞여버렸네요. --;;;

이전 소스, 그러니까 ( UniFull Firmware v1.1~1.2 )는

Device ID가 디바이스 드라이버와 불일치하여 테스트가 안되었을 겁니다.

이 또한 업데이트 내용에 반영되었습니다.

 

 

 

드라이버 업데이트

 

다음 강좌를 위해 unifull.sys 드라이버를 조금 수정하였습니다.

아래의 절차를 따라 드라이버를 업데이트 해 주세요.

 

1. 위의 드라이버( UniFull Driver v1.1 )를 다운 받아 압축을 풀어 놓습니다.

 

2. UniFull 보드에 JTAG과 USB케이블을 연결하고,

AVR Studio를 실행하여 UniFull Firmware v1.0을 보드로 다운로드 합니다.

( UniFull Firmware v1.0 펌웨어는 강좌 “UniFull Firmware v.1.0과 디스크립터 설명”에서 다운로드 받을 수 있습니다. )

(아래 첨부파일에서 받아도 됩니다.)

3. 제어판의 장치관리자를 실행하여 “범용직렬버스컨트롤러” 항목에 “UniFull Board”가 잡히는지 확인 합니다.

 

 

4. “UniFull Board” 항목을 선택하고, 오른버튼을 클릭하면 나타나는 대화상자에서

“드라이버”탭을 선택한 후에, “드라이버 업데이트” 버튼을 선택합니다.

 

 

5. 드라이버 업그레이드 마법사 대화창이 뜨면 “다음”을 누릅니다.

 

6 “다음”을 누릅니다.

 

7. “위치지정”에 체크하고 “다음”을 누릅니다.

 

8. 미리 다운받아 압축을 풀어 놓은 새 드라이버의 위치를 지정 하고 “확인” 버튼을 누릅니다.

 

9. “다음”을 누릅니다.

 

10. 다시 미리 다운받아 압축을 풀어 놓은 새 드라이버의 위치를 지정 하고 “확인” 버튼을 누릅니다.

 

11. “마침”을 누릅니다.

 

 

댓글달기 회원에게만 댓글 작성 권한이 있습니다. 회원가입하여 정보공유를 하면 좋겠습니다.
첨부파일 UniFull_Driver_v1.1.zip
답변
  스팸신고 스팸해제
글쓰기
 
이전글 Setup Data 활용하기
다음글 Control Transfer에서 Data Stage를 활용한 데이터 전송
 
 
| 회사소개 | 이용약관 | 개인정보취급방침 | 이용안내
Copyright ⓒ 2010 KitKorea All rights reserved.
전화 : 031-429-0845 FAX : 031-477-1407
Contact open@kitkorea.com for more information.
법인명(상호):인터전자 주식회사 주소:14120 경기도 안양시 동안구 흥안대로 112-1 (호계동)
사업자 등록번호 안내 [138-81-28277] / 통신판매업 신고 제 안양 1753호 [사업자정보확인]
개인정보보호책임자 :홍성호(open@kitkorea.com) / 대표자(성명):홍성호
cafe24