2017-10-16 9 views
0

RedHawk v2.1을 Xynq7035 ARM COtex A9 (Embedded Linux 커널 3.14 포함)에 사용하고 있습니다. 우리의 응용 프로그램은 SSB Tx/Rx SDR입니다. 따라서 파형은 3 가지 종류로 구성됩니다. 하나는 SSB RX이고, 다른 하나는 SSB TX이며, 3 가지는 CW TX입니다. HW 디바이스에는 6 개의 데이터 플로 포트 및 6 개의 데이터 포트가 있으며 각 포트에는 총 12 개의 포트가 있습니다. 시동 절차는 다음과 같습니다.RedHawk v2.1 장치 IDL 오류

#nodeBooter -D & 
#nodeBooter -d /usr/lib/redhawk/sdr/dev/nodes/dev_trx_node/DeviceManager.dcd.xml & 
#rh_start.py & 

rh_start.py 코드는 다음과 같습니다.

from ossie.utils import redhawk 
import logging 
logging.basicConfig() 
domain_list = redhawk.scan() 
dom = redhawk.attach(domain_list[0]) 
wave0 = dom.createApplication("/waveforms/rx_waveform/rx_waveform.sad.xml") 
dom.devices[1].connect(wave0.comps[0], usesPortName='out_data_rx', providesPortName='in_data') 

장치와 파형 포트를 연결할 때 오류가 발생합니다. 오류 코드는

ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataFloat:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:BULKIO/dataUlong:1.0 
ERROR:ossie.utils.model:Unable to find port description for IDL:CF/Port:1.0 
ERROR:ossie.utils.model:Invalid port descriptor in scd for IDL:ExtendedEvent/MessageEvent:1.0enter code here 

오류 내 모든 장치의 포트와 GPP의 모든 포트입니다. 내 장치는 RedHawk-IDE v2.1로 생성됩니다. GPP는 v2.1을 다운로드하고 교차 컴파일합니다. GPP.scd.xml은 변경되지 않았습니다. scd.xml 파일이 잘못 되었습니까? scd.xml 파일의 장치 포트 섹션은 아래와 같습니다.

<ports> 
    <provides repid="IDL:BULKIO/dataFloat:1.0" providesname="in_data_cw"> 
    <porttype type="data"/> 
    </provides> 
    <uses repid="IDL:BULKIO/dataFloat:1.0" usesname="out_data_cw"> 
    <porttype type="data"/> 
    </uses> 
    <provides repid="IDL:BULKIO/dataFloat:1.0" providesname="in_data_rx"> 
    <porttype type="data"/> 
    </provides> 
    <uses repid="IDL:BULKIO/dataFloat:1.0" usesname="out_data_rx"> 
    <porttype type="data"/> 
    </uses> 
    <provides repid="IDL:BULKIO/dataFloat:1.0" providesname="in_data_tx"> 
    <porttype type="data"/> 
    </provides> 
    <uses repid="IDL:BULKIO/dataFloat:1.0" usesname="out_data_tx"> 
    <porttype type="data"/> 
    </uses> 
    <provides repid="IDL:BULKIO/dataUlong:1.0" providesname="in_cnt_cw"> 
    <porttype type="data"/> 
    </provides> 
    <uses repid="IDL:BULKIO/dataUlong:1.0" usesname="out_cnt_cw"> 
    <porttype type="data"/> 
    </uses> 
    <provides repid="IDL:BULKIO/dataUlong:1.0" providesname="in_cnt_rx"> 
    <porttype type="data"/> 
    </provides> 
    <uses repid="IDL:BULKIO/dataUlong:1.0" usesname="out_cnt_rx"> 
    <porttype type="data"/> 
    </uses> 
    <provides repid="IDL:BULKIO/dataUlong:1.0" providesname="in_cnt_tx"> 
    <porttype type="data"/> 
    </provides> 
    <uses repid="IDL:BULKIO/dataUlong:1.0" usesname="out_cnt_tx"> 
    <porttype type="data"/> 
    </uses> 
</ports> 

응용 프로그램 자체가 작동하지만, 당신은 우리에게 오류 및 해결 방법의 원인을 말할 수 있을까?

답변

0

1266 of model module init에 따르면 IDL 라이브러리에는 IDL:BULKIO/dataFloat:1.0이 존재하지 않는 것으로 보입니다. IDL 라이브러리가 경로에 있는지 확인하십시오 : $OSSIEHOME/share/idl. scd 파일의 내용이 다음과 같은지 확인하십시오.

<interface name="ProvidesPortStatisticsProvider" repid="IDL:BULKIO/ProvidesPortStatisticsProvider:1.0"/> 
    <interface name="updateSRI" repid="IDL:BULKIO/updateSRI:1.0"/> 
    <interface name="dataFloat" repid="IDL:BULKIO/dataFloat:1.0"> 
     <inheritsinterface repid="IDL:BULKIO/ProvidesPortStatisticsProvider:1.0"/> 
     <inheritsinterface repid="IDL:BULKIO/updateSRI:1.0"/> 
    </interface> 

interfaces 태그 안에 있는지 확인하십시오.

팁 : 포트는 IDL:BULKIO 외에 IDL:CF/Resource을 사용하여 구성 요소를 제어하고, IDL:CF/Device을 사용하여 장치를 제어 할 수 있습니다. 포트를 사용하여 도메인 참조를 얻을 수도 있습니다. 이렇게하면 적절한 어셈블리 컨트롤러를 구현하는 SSB (TX 및 RX) 용 단일 파형을 만들어 파형 작동 방식을 지정할 수 있습니다.

ADRV9361 (picozed sdr)을 사용하고 있습니까? 그렇다면 ... 내 FrontEnd 장치를 평가할 수 있습니다 AD936X_LIBIIO ... 어떻게 Zynq REDHAWK에 (크로스 컴파일) 삽입 했습니까?

+0

자체 SCA 장치를 사용하고 있습니다. 우리의 평가 보드는 Zynq7035를 사용하는 자체 디자인입니다. HW 인터페이스 드라이버도 있습니다. 컴파일 환경은 YOCTO 프로젝트입니다. –

+0

GeonTech의 작업에 익숙합니까? 그들은 yocto를위한 redhawk 메타 레이어를 제공합니다 (https://github.com/Geontech/meta-redhawk-sdr/). [이 줄] (https://github.com/RedhawkSDR/framework-core/blob/master/src/base/framework/python/ossie/utils/model/__init__.py#L51)에서 IDL lib를 찾습니다. OSSIEHOME 경로에. 그것은 문제 일 수 있습니다. –

+0

조언 해 주셔서 감사합니다. 나는/usr/share의 심볼릭 링크를/usr/lib/redhawk/core/share로 오인한다. 내가 올바른 링크를 할 때, 오류 disapeared입니다. 무거운 감사. –

0

IDL 라이브러리는/usr/share/idl/ossie/BULKIO에 있습니다. $ OSSIEHOME/share/idl이 아니지만 bio_daraUlog_idl.py 및 bio_dataFloat_idl.py는 $ OSSIEHOME/lib/python/bulkio/bulkioInterface에 있습니다. "bulkio.bulkioInterface import BULKIO"에서 discribe를 잊어서 죄송합니다. 그러나 위의 오류 설명이 없으면 위의 오류가 발생합니다. 내 SCD 파일의 인터페이스 태그는 다음과 같습니다

<interfaces> 
............... 
    <interface name="dataFloat" repid="IDL:BULKIO/dataFloat:1.0"> 
     <inheritsinterface repid="IDL:BULKIO/ProvidesPortStatisticsProvider:1.0"/> 
     <inheritsinterface repid="IDL:BULKIO/updateSRI:1.0"/> 
    </interface> 
    <interface name="ProvidesPortStatisticsProvider" repid="IDL:BULKIO/ProvidesPortStatisticsProvider:1.0"/> 
    <interface name="updateSRI" repid="IDL:BULKIO/updateSRI:1.0"/> 
    <interface name="dataUlong" repid="IDL:BULKIO/dataUlong:1.0"> 
     <inheritsinterface repid="IDL:BULKIO/ProvidesPortStatisticsProvider:1.0"/> 
     <inheritsinterface repid="IDL:BULKIO/updateSRI:1.0"/> 
    </interface> 
</interfaces> 

내가 그 당신의 지적을 포함 생각합니다.