본문 바로가기

Software

(79)
블루투스 프로파일 : Audio/Video Remote Control Profile(AVRCP) AVRCP Profile은 TV와 하이파이 장비(Hi-Fi Equipment), 또는 단일 리모콘(또는 기타 장치)으로 사용자가 접근 할 수 있는 모든 A/V 기기를 제어할 수 있게 해주는 표준 인터페이스(Standard Interface)를 제공하도록 설계되어 있다. 이는 A2DP 또는 VDP와 관련되어 사용될 수 있다. 사용 시나리오(Usage Scenarios)이미 일반적으로 많이 사용되는 기능들을 조정할 수 있다.ex) 음량 조절, PLAY, PAUSE, SKIP, 밝기 조절, VCR 타이머 AVRCP Profile을 사용하는 장치 유형의 예제어장치(Controller)- 개인용 컴퓨터(Personal computers)- 휴대폰(Mobile Phone)- 리모트 컨트롤러(Remote Contro..
Renesas 개발일지(2) MICOM에서 function call에 의한 UART 통신 메커니즘 flag(fix_ready)를 사용한다. 이 값의 변경 유무에 따라 trans가능한 데이터 혹은 전송가능 여부에 대한 판단 signal로 사용한다.해당 flag가 세워졌을 시, 해당 flag를 주기적으로 관찰하는 routine(HOST_MAIN())에서 전송을 하기위한 START_TX() function을 호출.UART_TX_MODULE()을 통해 STMK = 1(TX Int disable)을 0로 설정. 그 후uart_tx_interrupt 주기적으로 발생. uart_tx_interrupt() function으로 이동하여 UART_TRN()(실제 UART 전송을 담당) function 실행.전송 하고자하는 Data가 담긴 TXbuf[..
Renesas 개발일지(1) CubuSuite+ 툴을 이용한 Build 환경.MICOM Code 구현시 C언어를 사용.실제 Code level에서 붉은색을 표기된 변수 및 함수 발견.이 메소드와 변수는 실제 MICOM에 정의된 Register 값이며, 변수(Reg?)의 경우 실제 Data Table에 정의가 되어 있음.실제 어떤 Address을 할당할지에 대한 값을 직접 설정해준다.메소드의 경우 CubuSuite+ 툴을 설치함과 동시에, MICOM 내부적으로 제공되는 함수로 생각됨. 실제 코드레벨에서 해당 함수의 정의부를 찾을 수 없으며, 확인 불가. 실제 Build 후 Board에 Download 직 후 메모리 Address를 확인해 보면, 실제 해당 메소드가 가지고 있는 address를 확인 할 수 있다.
GPIO(General Purpose Input Output) 란? 마이크로 프로세서가 주변장치와 통신하기 위해 범용으로 사용되는 입출력 포트이다. 설계자가 마음대로 변형하면서 제어할 수 있도록 제공해주는 I/O(입출력) 포트이다. I/O 포트를 제어하기 위해 각 포트당 3개의 I/O 레지스터(DDRx, PORTx, PINx)를 가진다. 입력, 출력 가능한 I/O 이지만, 여기서 약간의 어려움이 존재한다. 하나의 하드웨어 핀이 입력도 되고 출력도 될 수는 없다는 점이다. 하드웨어 적으로 출력핀은 프로그램에서 출력 값을 변경하지 않는 이상 항상 동일한 값, 즉 1 또는 0의 값을 가진다. 이런 핀을 우리는 latch 라는 말로 표현한다. 사실 메모리 또는 레지스터 이런 것들도 모두 래치형이다. 값은 변경하지 않는 이상은 이전의 값을 동일하게 갖기 때문이다. 좀 더 어려운 ..
개발자가 적어본 마이컴/마이크로프로세서 이야기 해당 글은 : http://reconfig-systems.com/microcontroller.htm 에서 정리되었습니다.들어가는 말 마이컴(Microcontroller)을 처음 접하는 분들에게 도움이 되었으면 하고 마이컴에 대해 토픽별로 적어보았다. 이미 마이컴에 대해 잘 알고 있는 분들께는 도움이 되지 않을 것이다. 그리고 이야기를 추가해 나아가다 보니 마이크로프로세서 영역까지 확장하게 되었다. (괄호한의 "uC"는 Microcontroller, "uP"는 Microprocessor "Adv"는 Advanced topic의 줄임말이다.) Q.01 [uC] 마이컴과 마이크로 프로세서는 어떤 차이점이 있는가? 마이컴은 마이크로컨트롤러(Microcontroller)를 줄여서 부르는 말이다. 마이컴은 소형의 ..
Audio Unit Hosting Fundamentals Audio Unit Hosting FundamentalsiOS의 모든 Audio 기술은 그림 1-1과 같이 Audio Unit위에 구축되어 있다. Media Player, AV Foundation, Open AL 및 Audio Toolbox와 같은 상위 Level의 기술은 Audio unit을 랩핑하여 특정 작업에 간소화된 API를 제공한다. 고차원 적인 Audio 컨트롤이 아니라면 애플에서는 Audio Unit을 직접적으로 사용하는 것을 권장하지 않으며, 위에서 언급된 랩핑된 Class들을 통해 접근하는 것을 권장한다. Audio Units in iOSiOS는 목적에 따른 7개의 Audio Unit을 제공한다. Effect UnitiOS4 부터 내장 iPod Application에서 사용되는 것과 동일..
Audio Unit Hosting에 대하여... About Audio Unit HostingiOS는 녹음, 재생, 오프라인 렌더링 및 VoIP(Voice over Internet Protocol)와 같은 실시간 대화를 위한, Mixing, equalization, format 변환 및 실시간 입/출력을 지원하는 오디오 처리를 위한 Plug-Ins을 제공한다.이것들을 동적으로 사용(Host) 가능하며, 강력하고 유연한 Plug-ins은 iOS Application에서 제공된다. Audio Units은 일반적으로 그림과 같이 Audio Processing Graph라는 객체의 Context에서 작업이 이루어진다. 그림을 통해 예제를 살펴보면, App은 하나 이상의 Callback 함수를 통해 Graph의 첫 번째 Audio Unit로 오디오를 전송하고 각..
iOS Audio Play Mac OS 또는 iOS에서 Audio를 Play하는 방법은 여러가지가 있다. 방법에는 크게 두가지 방식으로 나뉘는데,- Audio를 컨트롤 위해 추상화 작업이 완료된 API를 이용하는 방법(AVAudioPlayer, MPMediaPlayer) or- Low Level에서 직접 오디오 Unit를 활용하는 방법(Audio Unit, AUGraph)이다.문제 접근의 시작은 이러하였다. AVAudioPlayer나 MPMediaPlayer 와 같은 추상화된 오디오 Class를 통해 Equalizer 기능을 제공하고 싶었다. 하지만 해당 API로는 Equalizer 기능을 수행할 수 없었다.(여기서 말하는 Equalizer는 iOS Setting의 기본 eq 정보를 말합니다.) 자료정보를 찾아보다 알게된 사실인데..