guestbook

  1. 하늘바라기

    별말씀을 다하십니다....
    항상 누군가에게 물어볼수 있고 성의있게 답해준다는 것만으로도...
    많은 도움과 힘이 납니다...
    항상 감사합니다. ^^

    2015.12.08 08:43 신고 [ EDIT/ DEL : REPLY ]
  2. 하늘바라기

    ^^;;;;;
    해결했습니다....
    While문안에서 너무 delay가 적어서 그랬네요.... ㅠㅠ
    CPU 속도가 높아진걸 관과했네요...
    항상 성의있는 답변 감사합니다...

    2015.12.07 17:50 신고 [ EDIT/ DEL : REPLY ]
    • 매번 별 도움이 못되는것 같은걸요 ㅠㅠ
      잘해결하시는거 보니 부럽습니다 ㅠㅠ

      2015.12.07 21:04 신고 [ EDIT/ DEL ]
  3. 하늘바라기

    우선 답변감사합니다.
    이부분이 새로작선한 code가 아니라 At91sam9g45로 이미 구현했던 것을 TI사 AM3352로 포팅하고 있는 거라서요...
    User영역 부분은 기존과 동일해서요... (기존에는 잘 돌아갔는데...)
    그리고 계속 Waiting하는 것이아니고 kernel 영역에서 setting되는 flag를 User 영역에서 While문에서 1usec에 한번씩 read해서
    값이 셋이되면 break로 나오게 되어있습니다. ^^;;;
    preemptive scheduling 설정이나 spin lock 같은 걸로 해결이 안될까요?

    2015.12.07 15:46 신고 [ EDIT/ DEL : REPLY ]
    • 드라이버 쪽을 구현해본 경험이 적어서 말씀 드리기 힘들지만...
      interrupt가 아닌 polling 방식으로 구현하면 이래저래 cpu 소비가 높아서 효율이 좋진 않을것 같습니다.
      저도 찾아 봐야 할듯 합니다만...
      일단 kernel mode에서 user mode 프로세스 쪽으로 signal이나 인터럽트를 통해 값이 변경되었음을 알려주는게 올바른 설계방법이 아닐까요?

      http://stackoverflow.com/questions/3614213/user-mode-and-kernel-driver-communication

      2015.12.07 15:54 신고 [ EDIT/ DEL ]
  4. 하늘바라기

    안녕하세요? timer interrupt 관련하여 질문이 있어 문의 드립니다.
    kernel 영역: PWM timer
    user 영역 : 상태값(PWM timer 종료 상태 check flag)을 1usec sleep을 주고 while문으로 기다림

    kernel에서 PWM timer 동작은 잘하는데...
    동작하는 상황에서 user영역에서 상태값을 기다리기위해 while문으로 진입하면 kernel 영역에 timer가 delay가 발생하면서
    광장히 느리가 동작하네요...
    kernel 영역와 user영역이 서로 간섭을 하는 것으로 보이는데...
    이런 경우엔 어떤 부분을 봐야 할까요?
    그럼 남은 오후도 즐거운 시간되세요.

    2015.12.07 14:07 신고 [ EDIT/ DEL : REPLY ]
    • 1msec도 아니고 1usec이면.. busy-waiting 수준이라
      cpu를 많이 먹어서 kernel 모드로 들어가려고 하면서 thrashing 발생하는게 아닐까 합니다. 그리고.. arm이 좋아졌다고는 해도..
      usec 단위로는 몇개 명령어 처리 못할테니 유의미하게 컨텍스트 스위칭을 하긴 힘들것 같고.. 그런 time critical한 작동은 mcu로 독립시키거나 하는게 가장 옳은 설계 방법이 아닐까 합니다.
      아니면.. RTOS나 RT 패치 하셔서 쓰기전에는 무리가 아닐까 합니다.

      2015.12.07 15:12 신고 [ EDIT/ DEL ]
  5. 오충용

    안녕하세요? 구차니님
    회사에서 vTiger와 Suite 중에서 하나를 골라서 사용해 보자.. 라고 이야기를 했는데 모든 개발자들이 눈만 꿈뻑이면서 꼼짝도 안 하고 있어서 혹시 구차니님께서 가능 하시다면 구로디지탈단지에 있는 저희 회사로 강사 초빙을 할 테니 1시간 정도 저희 개발자들에게 vTiger와 Suite를 가지고 사용하려면 어디 어디가 정말 힘들고 어려운지 한 말씀 해 주실 수 있으시겠는지요? 강의는 언제든지 그리고 어느 시간대라도 상관 없으며 강사비는 잘 준비해 드리겠습니다. ^^
    제 전화번호는 010-5296-6174 이니 언제든지 문자나 전화 주십시오. 감사합니다.

    2015.12.05 22:09 신고 [ EDIT/ DEL : REPLY ]
    • 죄송하지만 vTiger 도입해보려다가 저도 포기해서
      남들에게 사용법을 알려드릴 만큼 써보지를 못했습니다.
      죄송합니다 ㅠㅠ

      2015.12.05 23:01 신고 [ EDIT/ DEL ]
  6. 하늘바라기

    ^^;;; 제가 블로그를 하지 않아서요...
    신경써주셔서 감사합니다.
    제가 자주 들어오겠습니다.

    2015.11.05 08:37 신고 [ EDIT/ DEL : REPLY ]
  7. 하늘바라기

    좋은 의미로 받아드려주셔서 감사합니다.
    ^^

    2015.11.04 17:38 신고 [ EDIT/ DEL : REPLY ]
    • 혹시 블로그 하시나요? 주소에 남겨 주시면 댓글 확인하시러 안와도 되도록 양쪽으로 남겨드리겠습니다.

      2015.11.04 17:51 신고 [ EDIT/ DEL ]
  8. 하늘바라기

    제가 개인적인 사정으로 몇일 여행을 다녀오느라... 답변이 늦었습니다.
    제가 id 설정하는 부분에대해서 아직 지식이 없어서... ^^;;;
    말씀해주신데로 한번 해보겠습니다.
    이렇게 온라인에서 생면부지의 엔지니어에게 아낌없는 지식을 나눠 주심에 감사 또 감사를 드립니다.
    몸이 좀 편찮으신것 같은데....
    항상 모든일은 건강 이후로 미루는 하루하루가 되시길 바랍니다.
    감사합니다.
    아참 그리고 Ti site에 답변이 달려서 좀 해봤는데 잘 안되서 다시 글 올렸습니다.
    이문제 해결도면 꼭 이곳에 해결방법 올리도록하겠습니다.
    다른 이들을 위해서요... ^^;
    큰 도움이 될지는 모르겠지만요... ^^

    2015.11.04 16:16 신고 [ EDIT/ DEL : REPLY ]
    • http://lxr.free-electrons.com/source/include/linux/mod_devicetable.h#L225

      음.. 해당 구조체에 compatible[128]만 있지 id는 존재하지 않는군요.
      저도 한번 시간내서 다시 보도록 해보겠습니다.
      그리고 이건 업무가 아니라 취미로 찾는거라 저도 공부가 되니 좋은 공부꺼리 주셔서 감사합니다 ^^

      2015.11.04 16:54 신고 [ EDIT/ DEL ]
  9. 하늘바라기

    우선 이런게 답변해주셔서 감사합니다. ㅠㅠ
    우선 용도를 말씀을 안드렸네요 말씀하신데로 1번은 systick이라 못쓰고 4~7번은 PWM입니다.
    sitara계열 chip에 timer는 약간의 accuracy에 문제가 있습니다 느린 속도에서는 문제가 없으나 속도가 빨리지면 랜덤하게 60us의 delay가 발생합니다.
    PWM을 사용하면 이런 delay가 발생하지 않아서요.
    이런 이유로 일반 timer가 아니 PWM을 사용하여 저희가 원하는 두가지 시간에 각각 다른 파형(PWM)를 생성하고자 하고 있습니다.
    헌데 PWM 타이머를 한모듈안에서 두개를 request하려고하니 node가 충돌이 나는 것인지...
    둘 중하나의 timer가 동작을 하지 않아서요...
    저도 계속 찾고 문의하고 있는데 child request를 하면 가능을 하수도 있다고 하던데... 제가 잘 모르는 내용이라서요...

    PWM timer 구성은 아래 링크를 참고했습니다.
    https://e2e.ti.com/support/arm/sitara_arm/f/791/t/415079

    이렇게 관심 가져주셔서 감사합니다.
    꾸벅... ㅠㅠ



    2015.10.29 16:05 신고 [ EDIT/ DEL : REPLY ]
    • 확신은 없으나 타이머 보다 높은 우선 순위의 인터럽트로 인해서
      주기가 짧아질수록 크게 드러나는게 아닐까 합니다.(watchdog이라던가..)
      그리고 주기에 예민하다면.. RT 커널을 쓰시거나 마이컴으로 따로 하드웨어 구성하는게 좋을것으로 생각됩니다.
      혹시 비글본으로 하시나요? SDK를 다운받기 까다로워서 api 문서등을 참고 하려니 찾기가 힘드네요

      2015.10.30 08:17 신고 [ EDIT/ DEL ]
    • http://elinux.org/Linux_Drivers_Device_Tree_Guide
      http://forum.falinux.com/zbxe/index.php?document_srl=567697&mid=device_driver

      struct platform_device 구조체의 id 이다.
      디바이스가 하나만 있다면 이값은 -1 로 설정

      적어주신 링크에서는 id를 설정하는 부분이 없어 무조건 하나의 타이머만 사는게 아닐까 생각됩니다. 2개를 등록했으니 id도 2로 설정하면 되지 않을까요?

      2015.10.30 08:38 신고 [ EDIT/ DEL ]
  10. 하늘바라기

    오다가다 가끔씩 들렸었는데... 염치 불구하고 한가지 질문이 있어 글올립니다.

    DMtimer를 한 모듈에서 사용시 of_match_table 설정을 어떻게해야하는 문의 드립니다.
    하나씩하면 잘동작하는데 아래와 같이 두개를 함께 설정하면 동작을 안하네요.... 아직 match table을 이해하지 못해서...
    static const struct of_device_id test_module_timer_of_match[] = {
    { .compatible = "am33xx_module_timer4" },
    { .compatible = "am33xx_module_timer7" },
    };
    혹시 예제가 있는 곳이라도...아시면 도움부탁드립니다.

    2015.10.27 17:39 신고 [ EDIT/ DEL : REPLY ]
    • 어떤 칩/플랫폼인지 정보가 없어서 도움을 드리기 힘들것 같습니다.
      그리고 적어 주신 것으로는 배열로 2개의 타이머를 설정하는 것으로 보이는데 Ti쪽 API에서 제공을 하는지 초기화 함수를 찾아볼 필요가 있을 것 같습니다.

      2015.10.27 21:00 신고 [ EDIT/ DEL ]
    • 하늘바라기

      ^^;; 넵 댓글이라도 달아주셔서 감사합니다.
      제가 쓰는 chip은 TI사 AM3352를 사용하고 임베디드 리눅스를 사용하고있습니다.
      제가 알아본 봐로는 하나의 모듈에 하나의 DMtimer만 사용가능하다는 얘길들었는데 그게 맞는지 판단이 안되서 문의 드렸습니다.
      혹시 이부분에 대해서 아시는 것이 있으신 문의 드립니다.
      Ti사 e2e에 이미 글을 올렸으나 답변이 없네요... ^^;;;
      그럼 좋은 하루 보내세요~!

      2015.10.28 11:05 신고 [ EDIT/ DEL ]
    • 검색하다 보니 ti 커뮤니티에 하나 보이던데 그 글이었나 보네요 ㅎㅎ
      일단.. AM3352면. sitara계열.. 비글본 보드 에서 본거 같긴한데 데이터 시트 한번 찾아 보도록 하겠습니다. 그리고 댓글을 보니(?) 리눅스에서 문의해보라는데 하드웨어 데이터 시트상 2개를 쓸수 있다고 하더라도 리눅스에서 하나만 설정이 가능하도록 제한이 걸려 있을수도 있으니 수정하거나 수정된 패치를 찾아야 할지도 모르겠습니다.

      2015.10.28 15:51 신고 [ EDIT/ DEL ]
    • Eight 32-Bit General-Purpose Timers
      DMTIMER1 is a 1-ms Timer Used for Operating System (OS) Ticks
      DMTIMER4–DMTIMER7 are Pinned Out

      http://www.ti.com/lit/ds/symlink/am3352.pdf
      64p timer 4~7 pwm out

      일단 총 7개의 타이머가 보이는데.. 8개라고 데이터 시트상에는 명시가 되어있네요..
      그리고 dmtimer1은 systick으로 사용하고
      4~7은 pwm용으로 쓰다 보니.. 가용 타이머는 2,3 으로 2개 정도로 추측이 됩니다. 그리고 타이머를 어떤용도로 쓰실지에 따라 달라질것 같은데 혹시 참고하신 데이터시트 링크가 있으신지요?

      2015.10.28 15:55 신고 [ EDIT/ DEL ]