'embeded'에 해당되는 글 1394건

  1. 2023.07.19 stm32 reset 없이 JTAG 붙이기
  2. 2023.07.14 CCSv8.3.1 on win10
  3. 2023.07.14 CCS v8.3.1 on ubuntu 22.04
  4. 2023.07.14 spectrum digital XDS510 USB
  5. 2023.07.13 TMS320 소비전력
  6. 2023.07.12 zynq 7000 fsbl
  7. 2023.07.10 rpi bear metal
  8. 2023.07.07 zynq fsbl
  9. 2023.07.07 orange pi 3 못써먹겠네!
  10. 2023.07.06 openOCD와 jtag
embeded/Cortex-M3 STM2023. 7. 19. 19:19

stm32를 찾아봐야 하나..

gdb 문법은 아닌듯 한데 stm32 전용 구문들이려나?

 

# custom.cfg
source [find interface/stlink-v2-1.cfg]
transport select "hla_swd"

source [find stm32f4x.cfg]

reset_config none

 

 

[링크 : https://www.openstm32.org/forumthread1967]

Posted by 구차니
embeded/DSP C2000 Ti2023. 7. 14. 12:02

윈도우용 CCS v 8.3.1을 설치해서 시도!

일단은 리눅스에서는 안뜨던 Spectrum Digital XDS510USB가 뜬다.

버그인진 모르겠지만 Basic Example에 Hello World 로 생성하면

어셈블로로 작성된 로더쪽 스크립트 메모리 번지가 잘못되었다고 뜨는데 나중에 찾아봐야겠다.

 

 

Verify 버튼을 누르니까 아래와 같이 먼가 테스트를 한다.

JTAG에 TMS320F2808 물려두고 전원 넣어둔 상태라 그런가

scan chain에 1개의 장치가 발견되었다고 뜬다.

 

근데 정작 디버그 모드 들어가려고 하면 이렇게 에러 발생 -_-

 

저 OCS가 On Chip Storage 이런건 아니겠지?

C28xx: Error connecting to the target: Error 0x80000200/-1135 Fatal Error during: OCS,  Unrecoverable emulation error 

 

일단은~ 설정 스크립트가 지칭하는대로 따라가보자..

verify 에서 문제가 없다고 한 녀석은 아래의 경로고

C:\Users\free\AppData\Local\Texas Instruments\CCS\ti\0\0\BrdDat\testBoard.dat

# config version=3.5
$ sdopts
  emuportaddr=0x510
  emujclkmode=Counter
  emuportspeed=0
  emudisablepolling=YES
  emujclkfreqmhz=10
  emutckdiv=1
  emualttcktiming=NO
  emupowermode=Threshold_1Volt_IO
  emuiooffatexit=YES
  emuiooffatdisconnect=YES
  emu0pinlevel=HIZ
  emu1pinlevel=HIZ
  emuassertsysreset=NO
  emupulsetrst=NO
  emuserialnumber=ANY
  emuicepickrtrextended=NO
  devdelayedinit=NO
$ /
@ c28xx family=tms320c28xx irbits=38 drbits=1
# /

[링크 : https://software-dl.ti.com/ccs/esd/documents/ccsv7_debugging_jtag_connectivity_issues.html#C28x_the_debug_probe_reported_an_error]

 

HIZ 이런게 나오길래 생각을 해보니 SDConfigEx 라는 툴에서 XDS510USB로 했을때 나오던 거랑 비슷한 느낌이다?

TCK 주파수가 13에서 10으로 설정된걸 제외하면 사실상 같은 설정인 느낌.

 

겸사겸사 SDConfigEx에서도 해보니

TMS320F2808 보드에 전원과 JTAG 연결하고 emulator - test 하면 아래와 같이 성공한다.

** Emulator Test **
 $$ EmuProductName=XDS510USB
 $$ EmuPortAddr=0x510
 $$ EmuPortMode=USB
 $$ ProductId=510
 $$ ProductVersion=84
 ** Emulator Scan Test
   -- Found JTAG IR length of 3
   -- Found 1 JTAG device(s) in the scan chain

 

emulator - diagnostics 누르고 하면

 

최소한 에러는 안나는데 멀까?

** Checking for a valid emulator/eZdsp
** Running diagnostic scan on EmuProductName=XDS510USB

** Checking emulator/eZdsp scan connection

Performed 1 test loops with 0 errors.

 

 

SDConfigEx 에서 저장되는 파일은 아래 경로에 존재하는데 XML인걸 제외하면 설정값들은 동일하다.

C:\ti\ccsv8\ccs_base\emulation\specdig\sdconfigex\sdopts.xml

<SDConfiguration SelectedEmulator="XDS510USB_510">
<Emulator id="XDS510PP_3BC">3BC
                <Option id="EmuPortAddr">0X3BC</Option>
<Option id="EmuPortMode">SPP8</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510PP_PLUS</Option>
<Option id="EmuDoWaitInReset">NO</Option>
</Emulator>
<Emulator id="XDS510PP_278">278
                <Option id="EmuPortAddr">0X278</Option>
<Option id="EmuPortMode">SPP8</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510PP_PLUS</Option>
<Option id="EmuDoWaitInReset">NO</Option>
</Emulator>
<Emulator id="XDS510PP_378">378
                <Option id="EmuPortAddr">0X378</Option>
<Option id="EmuPortMode">SPP8</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510PP_PLUS</Option>
<Option id="EmuDoWaitInReset">NO</Option>
</Emulator>
<Emulator id="SPI525_100">100
                <Option id="EmuPortAddr">0X100</Option>
<Option id="EmuPortMode">PCI</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">SPI525</Option>
<Option id="EmuDoWaitInReset">NO</Option>
</Emulator>
<Emulator id="XDS510USB_510">510
                <Option id="EmuPortAddr">0X510</Option>
<Option id="EmuPortMode">USB</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510USB</Option>
<Option id="EmuDoWaitInReset">NO</Option>
<Option id="EmuJclkMode">Counter</Option>
<Option id="EmuJclkFreqMHz">13</Option>
<Option id="EmuTckDiv">1</Option>
<Option id="EmuAltTckTiming">NO</Option>
<Option id="EmuPowerMode">Threshold_1Volt_IO</Option>
<Option id="EmuIoOffAtExit">YES</Option>
<Option id="EmuIoOffAtDisconnect">YES</Option>
<Option id="Emu0PinLevel">HIZ</Option>
<Option id="Emu1PinLevel">HIZ</Option>
<Option id="EmuAssertSysReset">NO</Option>
<Option id="EmuPulseTrst">NO</Option>
<Option id="EmuSerialNumber">ANY</Option>
</Emulator>
<Emulator id="XDS510USB_511">511
                <Option id="EmuPortAddr">0X511</Option>
<Option id="EmuPortMode">USB</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510USB</Option>
<Option id="EmuDoWaitInReset">NO</Option>
<Option id="EmuJclkMode">Counter</Option>
<Option id="EmuJclkFreqMHz">13</Option>
<Option id="EmuTckDiv">1</Option>
<Option id="EmuAltTckTiming">NO</Option>
<Option id="EmuPowerMode">Threshold_1Volt_IO</Option>
<Option id="EmuIoOffAtExit">YES</Option>
<Option id="EmuIoOffAtDisconnect">YES</Option>
<Option id="Emu0PinLevel">HIZ</Option>
<Option id="Emu1PinLevel">HIZ</Option>
<Option id="EmuAssertSysReset">NO</Option>
<Option id="EmuPulseTrst">NO</Option>
<Option id="EmuSerialNumber">ANY</Option>
</Emulator>
<Emulator id="XDS510USB_512">512
                <Option id="EmuPortAddr">0X512</Option>
<Option id="EmuPortMode">USB</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510USB</Option>
<Option id="EmuDoWaitInReset">NO</Option>
<Option id="EmuJclkMode">Counter</Option>
<Option id="EmuJclkFreqMHz">13</Option>
<Option id="EmuTckDiv">1</Option>
<Option id="EmuAltTckTiming">NO</Option>
<Option id="EmuPowerMode">Threshold_1Volt_IO</Option>
<Option id="EmuIoOffAtExit">YES</Option>
<Option id="EmuIoOffAtDisconnect">YES</Option>
<Option id="Emu0PinLevel">HIZ</Option>
<Option id="Emu1PinLevel">HIZ</Option>
<Option id="EmuAssertSysReset">NO</Option>
<Option id="EmuPulseTrst">NO</Option>
<Option id="EmuSerialNumber">ANY</Option>
</Emulator>
<Emulator id="XDS510USB_513">513
                <Option id="EmuPortAddr">0X513</Option>
<Option id="EmuPortMode">USB</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510USB</Option>
<Option id="EmuDoWaitInReset">NO</Option>
<Option id="EmuJclkMode">Counter</Option>
<Option id="EmuJclkFreqMHz">13</Option>
<Option id="EmuTckDiv">1</Option>
<Option id="EmuAltTckTiming">NO</Option>
<Option id="EmuPowerMode">Threshold_1Volt_IO</Option>
<Option id="EmuIoOffAtExit">YES</Option>
<Option id="EmuIoOffAtDisconnect">YES</Option>
<Option id="Emu0PinLevel">HIZ</Option>
<Option id="Emu1PinLevel">HIZ</Option>
<Option id="EmuAssertSysReset">NO</Option>
<Option id="EmuPulseTrst">NO</Option>
<Option id="EmuSerialNumber">ANY</Option>
</Emulator>
</SDConfiguration>

 

eclipse(ccs) 에서 설정으로 쓰는 파일은 ccxml인데

connection에 instance와 platform 관련 내용으로 보면 2개 파일이 존재하낟.

C:\Users\free\workspace_v8\test\targetConfigs\TMS320F2808.ccxml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
    <configuration XML_version="1.2" id="configuration_0">
        <instance XML_version="1.2" desc="Spectrum Digital XDS510USB Emulator" href="connections/SD510USB_Connection.xml" id="Spectrum Digital XDS510USB Emulator" xml="SD510USB_Connection.xml" xmlpath="connections"/>
        <connection XML_version="1.2" id="Spectrum Digital XDS510USB Emulator">
            <instance XML_version="1.2" href="drivers/sdgo28xusb.xml" id="drivers" xml="sdgo28xusb.xml" xmlpath="drivers"/>
            <platform XML_version="1.2" id="platform_0">
                <instance XML_version="1.2" desc="TMS320F2808" href="devices/f2808.xml" id="TMS320F2808" xml="f2808.xml" xmlpath="devices"/>
            </platform>
        </connection>
    </configuration>
</configurations>

 

sdgo28xusb.xml는 드라이버(바이너리) 연결해주고 끝

C:\ti\ccsv8\ccs_base\common\targetdb\drivers\sdgo28xusb.xml

<?xml version="1.0"?>
<drivers id="TMS320C28XX">
<isa Type="TMS320C28XX" ProcID="0x5000A3F8">
<driver file="../../../emulation/drivers/sdgo28xusb.dvr">
<connectionType Type="SD510USB"/>
                        <property Type="hiddenfield" Value="true" id="realtimeEnabled" />
</driver>
</isa>
</drivers>

 

C:\ti\ccsv8\ccs_base\emulation\drivers\sdgo28xusb.dvr

 

f2808.xml은 장치별 메모리만 기재해둔 파일이다.

C:\ti\ccsv8\ccs_base\common\targetdb\devices\f2808.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  TI File $Revision: /main/10 $
  Checkin $Date: September 22, 2011   17:30:14 $
  -->


<device id="C28xx" partnum="TMS320F2808" HW_revision="1" XML_version="1" desc="TMS320F2808" description="">
  <instance href="../cpus/c28xx.xml" desc="C28xx" description="" id="C2800" isa="TMS320C28XX" xml="c28xx.xml" xmlpath="../cpus/" />
  <property Type="stringfield" Value="280x Fixed Point"   id="FilterString" />
 
  <cpu HW_revision="1.0" XML_version="1.2" description="CPU" deviceSim="false" id="C2800" isa="TMS320C28XX">
    <property Type="filepathfield" Value="../../emulation/gel/f2808.gel" id="GEL File"/>
    <!-- Project Wizard Settings -->
        <property Type="stringfield" Value="--large_memory_model --unified_memory --silicon_version=28" id="CompilerBuildOptions" /> 
        <property Type="stringfield" Value="--stack_size=0x300" id="LinkerBuildOptions" />
        <property Type="stringfield" Value="2808_RAM_lnk.cmd" id="LinkerCmd" /> 
         
    <!-- END Project Wizard Settings -->
      <instance href="../Modules/C2000/C2000_ADC_Type1_Registers.xml"                   id="ADC"          xml="C2000_ADC_Type1_Registers.xml"                           xmlpath="../Modules/C2000/" HW_version="" description="ADC Registers"                 requestor="" baseaddr="0x007100" endaddr="0x00711F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ADC_Type1_Mirror_Registers.xml"            id="ADCMIRROR"    xml="C2000_ADC_Type1_Mirror_Registers.xml"                    xmlpath="../Modules/C2000/" HW_version="" description="ADC Mirror Registers"          requestor="" baseaddr="0x000B00" endaddr="0x000B0F" size="0x0010" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/280x_System_Control_Registers.xml"               id="SYSCTRL"      xml="280x_System_Control_Registers.xml"                       xmlpath="../Modules/C2000/" HW_version="" description="System Control Registers"      requestor="" baseaddr="0x007010" endaddr="0x00702F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_Code_Security_Module_Registers.xml"        id="CSM"         xml="C2000_Code_Security_Module_Registers.xml"                 xmlpath="../Modules/C2000/" HW_version="" description="Code Security Module"          requestor="" baseaddr="0x000AE0" endaddr="0x000AEF" size="0x0010" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_PWL_Registers.xml"                         id="PWL"          xml="C2000_PWL_Registers.xml"                                 xmlpath="../Modules/C2000/" HW_version="" description="PWL Locations"                 requestor="" baseaddr="0x3F7FF8" endaddr="0x3F7FFF" size="0x0008" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_CPU_Timer_Registers.xml"                   id="CPUTIMER"     xml="C2000_CPU_Timer_Registers.xml"                           xmlpath="../Modules/C2000/" HW_version="" description="CPU Timer Registers"           requestor="" baseaddr="0x000C00" endaddr="0x000C3F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/280x_Device_Emulation_Registers.xml"             id="DEVEMU"       xml="280x_Device_Emulation_Registers.xml"                     xmlpath="../Modules/C2000/" HW_version="" description="Device Emulation Registers"    requestor="" baseaddr="0x000880" endaddr="0x9FF" size="0x180" accessnumbytes="4" permissions="p" />   
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Registers.xml"                id="eCANA"        xml="C2000_eCAN_Type0_Registers.xml"                        xmlpath="../Modules/C2000/" HW_version="" description="eCAN-A  Registers"             requestor="" baseaddr="0x006000" endaddr="0x006032" size="0x0033" accessnumbytes="4" permissions="p" /> 
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Local_Acceptance_Masks.xml"   id="eCANA_LAM"    xml="C2000_eCAN_Type0_Local_Acceptance_Masks.xml"           xmlpath="../Modules/C2000/" HW_version="" description="eCAN-A Local Acceptance Masks" requestor="" baseaddr="0x006040" endaddr="0x00607F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Message_Object_Time_Stamps.xml"   id="eCANA_MOTS"     xml="C2000_eCAN_Type0_Message_Object_Time_Stamps.xml" xmlpath="../Modules/C2000/" HW_version="" description="eCAN-A Message Object Time Stamps"   requestor="" baseaddr="0x006080" endaddr="0x0060BF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Message_Object_TimeOut.xml"   id="eCANA_MOTO"   xml="C2000_eCAN_Type0_Message_Object_TimeOut.xml"           xmlpath="../Modules/C2000/" HW_version="" description="eCAN-A Message Object Time-Outs"     requestor="" baseaddr="0x0060C0" endaddr="0x0060FF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Mailbox_Registers.xml"        id="eCANA_MBX_CONTENT"  xml="C2000_eCAN_Type0_Mailbox_Registers.xml"          xmlpath="../Modules/C2000/" HW_version="" description="eCAN-A Mailbox Content"              requestor="" baseaddr="0x006100" endaddr="0x0061FF" size="0x0200" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Registers.xml"                id="eCANB"        xml="C2000_eCAN_Type0_Registers.xml"                        xmlpath="../Modules/C2000/" HW_version="" description="eCAN-B Control and Status Registers" requestor="" baseaddr="0x006200" endaddr="0x006232" size="0x0033" accessnumbytes="4" permissions="p" /> 
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Local_Acceptance_Masks.xml"   id="eCANB_LAM"          xml="C2000_eCAN_Type0_Local_Acceptance_Masks.xml"     xmlpath="../Modules/C2000/" HW_version="" description="eCAN-B Local Acceptance Masks"       requestor="" baseaddr="0x006240" endaddr="0x00627F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Message_Object_Time_Stamps.xml"   id="eCANB_MOTS"     xml="C2000_eCAN_Type0_Message_Object_Time_Stamps.xml" xmlpath="../Modules/C2000/" HW_version="" description="eCAN-B Message Object Time Stamps"   requestor="" baseaddr="0x006280" endaddr="0x0062BF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Message_Object_TimeOut.xml"   id="eCANB_MOTO"         xml="C2000_eCAN_Type0_Message_Object_TimeOut.xml"     xmlpath="../Modules/C2000/" HW_version="" description="eCAN-B Message Object Time-Outs"     requestor="" baseaddr="0x0062C0" endaddr="0x0062FF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Mailbox_Registers.xml"        id="eCANB_MBX_CONTENT"  xml="C2000_eCAN_Type0_Mailbox_Registers.xml"          xmlpath="../Modules/C2000/" HW_version="" description="eCAN-B Mailbox Content"              requestor="" baseaddr="0x006300" endaddr="0x0063FF" size="0x0200" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAP_Type0_Registers.xml"                 id="eCAP1"    xml="C2000_eCAP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eCAP1 Registers"         requestor="" baseaddr="0x006A00" endaddr="0x006A1F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAP_Type0_Registers.xml"                 id="eCAP2"    xml="C2000_eCAP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eCAP2 Registers"         requestor="" baseaddr="0x006A20" endaddr="0x006A3F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAP_Type0_Registers.xml"                 id="eCAP3"    xml="C2000_eCAP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eCAP3 Registers"         requestor="" baseaddr="0x006A40" endaddr="0x006A5F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAP_Type0_Registers.xml"                 id="eCAP4"    xml="C2000_eCAP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eCAP4 Registers"         requestor="" baseaddr="0x006A60" endaddr="0x006A7F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM1"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM1 Registers"         requestor="" baseaddr="0x006800" endaddr="0x00683F" size="0x0040" accessnumbytes="4" permissions="p" />     
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM2"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM2 Registers"         requestor="" baseaddr="0x006840" endaddr="0x00687F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM3"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM3 Registers"         requestor="" baseaddr="0x006880" endaddr="0x0068BF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM4"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM4 Registers"         requestor="" baseaddr="0x0068C0" endaddr="0x0068FF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM5"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM5 Registers"         requestor="" baseaddr="0x006900" endaddr="0x00693F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM6"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM6 Registers"         requestor="" baseaddr="0x006940" endaddr="0x00697F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eQEP_Type0_Registers.xml"                 id="eQEP1"    xml="C2000_eQEP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eQEP1 Registers"         requestor="" baseaddr="0x006B00" endaddr="0x006B3F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eQEP_Type0_Registers.xml"                 id="eQEP2"    xml="C2000_eQEP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eQEP2 Registers"         requestor="" baseaddr="0x006B40" endaddr="0x006B7F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_Flash_Type0_Registers.xml"                 id="FLASH"    xml="C2000_Flash_Type0_Registers.xml"       xmlpath="../Modules/C2000/" HW_version="" description="Flash/OTP Registers"       requestor="" baseaddr="0x000A80" endaddr="0x000A87" size= "0x008" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/280x_External_Interrupt_Registers.xml"           id="XINT"     xml="280x_External_Interrupt_Registers.xml"      xmlpath="../Modules/C2000/" HW_version="" description="External Interrupt Registers"        requestor="" baseaddr="0x007070" endaddr="0x00707F" size="0x0010" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/280x_GPIO_Registers.xml"                         id="GPIO"     xml="280x_GPIO_Registers.xml"            xmlpath="../Modules/C2000/" HW_version="" description="GPIO Registers"                              requestor="" baseaddr="0x006F80" endaddr="0x006FFF" size="0x0080" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_I2C_Type0_Registers.xml"                 id="I2CA"     xml="C2000_I2C_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="I2CA Registers"                         requestor="" baseaddr="0x007900" endaddr="0x00792F" size="0x0030" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_PIE_Registers.xml"                         id="PIE"      xml="C2000_PIE_Registers.xml"           xmlpath="../Modules/C2000/" HW_version="" description="Peripheral Interrupt Expansion Registers"     requestor="" baseaddr="0x000CE0" endaddr="0x000CFF" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_SCI_Type0_Registers.xml"                 id="SCIA"     xml="C2000_SCI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Communication Interface A Registers"  requestor="" baseaddr="0x007050" endaddr="0x00705F" size="0x0010" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_SCI_Type0_Registers.xml"                 id="SCIB"     xml="C2000_SCI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Communication Interface B Registers"  requestor="" baseaddr="0x007750" endaddr="0x00775F" size="0x0010" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_SPI_Type0_Registers.xml"                 id="SPIA"     xml="C2000_SPI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Peripheral Interface A Registers"     requestor="" baseaddr="0x007040" endaddr="0x00704F" size="0x0010" accessnumbytes="4" permissions="p" />     
      <instance href="../Modules/C2000/C2000_SPI_Type0_Registers.xml"                 id="SPIB"     xml="C2000_SPI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Peripheral Interface B Registers"     requestor="" baseaddr="0x007740" endaddr="0x00774F" size="0x0010" accessnumbytes="4" permissions="p" />     
      <instance href="../Modules/C2000/C2000_SPI_Type0_Registers.xml"                 id="SPIC"     xml="C2000_SPI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Peripheral Interface C Registers"     requestor="" baseaddr="0x007760" endaddr="0x00776F" size="0x0010" accessnumbytes="4" permissions="p" />     
      <instance href="../Modules/C2000/C2000_SPI_Type0_Registers.xml"                 id="SPID"     xml="C2000_SPI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Peripheral Interface D Registers"     requestor="" baseaddr="0x007780" endaddr="0x00778F" size="0x0010" accessnumbytes="4" permissions="p" />     
  </cpu>
</device>

 

tms320 카페에서 ccs 디버거 설정에서 먼가하던데 그걸 빼먹어서 그런가?

'embeded > DSP C2000 Ti' 카테고리의 다른 글

잘가 tms320 ㅠㅠ  (0) 2023.07.28
CCS v8.3.1 on ubuntu 22.04  (0) 2023.07.14
spectrum digital XDS510 USB  (0) 2023.07.14
TMS320 소비전력  (0) 2023.07.13
tms320 어렵네...  (4) 2020.04.02
Posted by 구차니
embeded/DSP C2000 Ti2023. 7. 14. 10:04

음.. 걍 포기할까?

파이썬 2.7이라니..

 

아래 명령을 입력하면 22.04 에서 문제없이 설치된다.

$ sudo apt-get install libpython2.7 libgconf-2-4 libncurses5 libusb-0.1-4

 

윈도우에서는 못보던 화면이네



XDS510 USB가 안 잡혀서 다시 설치하고, 드라이버 설치하고, 업데이트 시도

 

 

리눅스 버전에서는 7.x 설치해도 안되서 일단 잠정 보류..

차라리 XDS510을 포기하는게 정답이려나?

'embeded > DSP C2000 Ti' 카테고리의 다른 글

잘가 tms320 ㅠㅠ  (0) 2023.07.28
CCSv8.3.1 on win10  (0) 2023.07.14
spectrum digital XDS510 USB  (0) 2023.07.14
TMS320 소비전력  (0) 2023.07.13
tms320 어렵네...  (4) 2020.04.02
Posted by 구차니
embeded/DSP C2000 Ti2023. 7. 14. 10:01

장비 인식은 잘 되는것 같은데

케이블 문제는 아니고 USB-ACTIVE는 어떤 조건에서 불이 들어 오는걸려나?

$ sudo dmesg
[  147.175141] usb 1-2: new full-speed USB device number 13 using xhci_hcd
[  147.338105] usb 1-2: New USB device found, idVendor=0c55, idProduct=0510, bcdDevice= 0.02
[  147.338123] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  147.338131] usb 1-2: Product: XDS510 USB
[  147.338136] usb 1-2: Manufacturer: Spectrum Digital, Inc.
[  147.338141] usb 1-2: SerialNumber: S000000000000000


$ lsusb -t -v
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 1: Dev 2, If 0, Class=, Driver=, 12M
        ID 2109:0103 VIA Labs, Inc. 
    |__ Port 2: Dev 13, If 0, Class=Vendor Specific Class, Driver=, 12M
        ID 0c55:0510 Spectrum Digital, Inc. Spectrum Digital XDS510 JTAG Debugger

 

JTAG쪽인줄 알았는데 USB Bus가 작동하면 불이 들어온다니, 항상 불이 들어오는게 아닐 듯.

[링크 : https://dokumen.tips/documents/xds510-usb-jtag-emulator-spectrum-usb-jtag-emulator-installation-guide-506175-0001.html?page=1]

 

+

리눅스에서는 v7 v8 모두 Spectrum Digital XDS510 시리즈 자체가 안보인다.

그래서 윈도우에서 하니 먼가 뜨긴 한데.. 빌드가 안되네

 

+

readme.txt만 있고 xml이 없어서 읽어보니 CCS 설치시에 자동으로 설치되는 듯.

Applies to Windows installations CCSv4 and higher:
---------------------------------------------------
xds510usb and xd510usb_win64 files have been removed and replaced with signed
windows drivers and placed in:
Program Files\SpectrumDigital\Emulation\Drivers for 32-bit Windows and
Program Files (x86)\SpectrumDigital\Emulation\Drivers for 64-bit Windows

During the CCS installation process windows system level drivers are quietly 
pre-installed.  On Vista, the system level drivers install may not succeed as 
security checks may block the install.  When you plug in a USB HW device if 
Vista does not automatically find the USB drivers then the install did not 
succeed and you have two options:

1) When the install Wizard cannot find the drivers simply have the Wizard 
search the directories listed above with the search subdirectory check box 
checked.

2) Manually pre-install the drivers before plugging in the USB HW.  
To do this use Explorer and go to the appropriate driver directory listed 
above and the appropriate subdirectory, i386 for 32-bit Windows or amd64 for 
64-bit Windows and run DPInst.exe.  If you are not sure if drivers were
pre-installed during the CCS install you can safely run DPInst.exe again. 

 

'embeded > DSP C2000 Ti' 카테고리의 다른 글

CCSv8.3.1 on win10  (0) 2023.07.14
CCS v8.3.1 on ubuntu 22.04  (0) 2023.07.14
TMS320 소비전력  (0) 2023.07.13
tms320 어렵네...  (4) 2020.04.02
TMS320 보드 버전  (0) 2020.02.18
Posted by 구차니
embeded/DSP C2000 Ti2023. 7. 13. 23:11

2012년 글이지만 지금에야 보게 되네.. 아무튼 전원 공급 문제일 가능성이 있다는데

 1. Target 보드에 전원을 인가한다.
 2. Bootloader 가 있다면 Boot모드로 진입하여 Kernel을 실행하지 않는다.
 3. 전원인가 후 10초정도 지난다음 Target 보드에 JTAG을 연결한다.
 4. JTAG의 USB 케이블을 PC에 연결한다.

 * 위의 에러메세지는 일반적으로 파워 문제로 인해서 발생한다. 그래서 먼저 보드에 전원을 인가 후 JTAG을
   연결하면 정상동작 한다.

[링크 : https://dark2pee.tistory.com/entry/DM368-CCS-Error-Message-Fatal-Error-during-OCS-Control]

 

이전에 5V 를 라즈베리 통해서 공급했던 것 같은데, 그래서 소비전력이 부족했나?

TMS320F2808 인데 최대 230mA 정도인데 라즈베리를 통해도 충분할 것 같은데. 왜지?

[링크 : https://www.ti.com/lit/ds/symlink/tms320f2808.pdf]

 

혹은.. 드라이버 문제인가?

 

USB ACTIVE에 불이 오락가락 하는거 보면 USB-B 쪽 커넥터 문제일지도 모르겠다.

 

+

[링크 : https://ahyuo79.blogspot.com/2015/07/ccs-v6.html]

[링크 : https://software-dl.ti.com/ccs/esd/documents/ccsv7_debugging_jtag_connectivity_issues.html]

[링크 : https://www.youtube.com/watch?v=mKxaztkCsYw]

'embeded > DSP C2000 Ti' 카테고리의 다른 글

CCS v8.3.1 on ubuntu 22.04  (0) 2023.07.14
spectrum digital XDS510 USB  (0) 2023.07.14
tms320 어렵네...  (4) 2020.04.02
TMS320 보드 버전  (0) 2020.02.18
TMS320 DSP 준비..  (0) 2020.02.16
Posted by 구차니
embeded/FPGA - XILINX2023. 7. 12. 20:03

zynq 시리즈의 경우 PS가 무조건 켜져야 PL을 초기화 할 수 있다.

PS가 구동되고 QSPI나 SD 카드 등에 저장된 부트 이미지를 불러와서 FSBL을 진행하게 되는데

FSBL은 xilinx에서 제공된 소스로 빌드되고, u-boot 이미지와 합쳐져서 기동되는 것으로 알고 있는데

FSBL은 0번 cpu로 구동이 된다고 하니, 정말 순수한 artix, kintex, virtex 와 같은 FPGA 처럼

순수하게 PS 구동없이 PL만 사용은 불가능 하다.

 

얜 zynq 7000 시리즈

On what all processor cores can FSBL run on?

FSBL can only be run from A9_0 (AArch32)

[링크 : https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/439124055/Zynq-7000+FSBL]

 

얜 Zynq Ultrascale+ MPSoC 시리즈

On what all processor cores can FSBL run on?

FSBL can only be run from A53_0 (AArch32 and AArch64), R5_0, R5_Lockstep

[링크 : https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842019/FSBL]

'embeded > FPGA - XILINX' 카테고리의 다른 글

ftdi jtag  (0) 2023.07.22
xilinx zynq jtag  (2) 2023.07.21
zynq fsbl  (0) 2023.07.07
zynq w/o ps  (0) 2023.06.30
xilinx uartlite on zynq  (0) 2023.05.16
Posted by 구차니
embeded/raspberry pi2023. 7. 10. 19:04

'embeded > raspberry pi' 카테고리의 다른 글

bmp280 HW-611  (0) 2023.09.19
라즈베리 파이 openOCD jtag?  (0) 2023.07.24
라즈베리 3 전원 off  (0) 2023.07.02
rpi win 10 IoT  (0) 2023.02.02
i2cdetect UU  (0) 2023.01.18
Posted by 구차니
embeded/FPGA - XILINX2023. 7. 7. 20:02

fsbl이 웬지 arm 에서 작동하는 느낌인데

ps가 먼저 살아나고

ps에서 pl을 초기화 하는 컨셉인 듯

그래서 ps만 쓸수는 있어도 fsbl등이 없이 pl만은 못 쓸지도 모르겠다

(아니 그러라고 만든 제품이 아니잖...)

 

일단은 부팅시간 측면에서는

ps기동하고

uboot 구동하고(키입력 없앤다 하더라도)

pl 초기화 하고(bit파일 읽는시간, 적재하는 시간 소요)

커널 로딩, 리눅스 기동

이라는 절차가 필요한데

 

리눅스 기동이 빠르게 필요하다면

리눅스 이후에 sysfs를 통해 pl을 초기화 해도 되지만

그러기엔 너무 전체 초기구동 시간이 너무 오래걸린다.

 

가능할진 모르겠지만 

부트로더 개조해서 2 cpu 니까

smp가 아닌 amp로 기동해서

cpu0은 리눅스로 쓰고

cpu1은 pl 초기화 하는데 쓰면 좀 단축가능하려나?

https://m.blog.naver.com/wmk2/220676047505

 

가https://xilinx.github.io/kria-apps-docs/bootfw/build/html/docs/bootfw_overview.html

'embeded > FPGA - XILINX' 카테고리의 다른 글

xilinx zynq jtag  (2) 2023.07.21
zynq 7000 fsbl  (0) 2023.07.12
zynq w/o ps  (0) 2023.06.30
xilinx uartlite on zynq  (0) 2023.05.16
xilinx vivado uart ip  (0) 2023.05.12
Posted by 구차니
embeded/orange pi2023. 7. 7. 16:29

발열이 너무함.

armbian도 과거에 cli만 하다보니 발열이 착하다고 생각했는데

xfce 돌리니까 온도 60~70도는 기본으로 찍힌다. idle 인데 -_-

그래서 LTS 라고 저발열 보드가 나온게 아닌가 싶긴한데

아크릴 케이스 녹여먹을까봐 불안해서 쓸수가 없으니 그냥 봉인해야 할 듯..

'embeded > orange pi' 카테고리의 다른 글

orange pi 3 install_to_emmc 는 실패, dd는 성공  (0) 2023.07.06
rk3588 HDMI RX interface  (0) 2023.06.30
android on orange pi 3  (0) 2022.12.07
allwinner A시리즈 백도어  (0) 2022.11.06
orange pi 3 관련 문서  (0) 2022.01.03
Posted by 구차니
embeded/ARM2023. 7. 6. 23:50

문득.. JTAG은 표준인데 왜 업체별로 다르지? 라는 생각에 검색하다 보니

공용으로 쓸 수 있는진 모르겠지만

openOCD를 이용하면 viviado 등이 없어도 FPGA에 쓸 수 있다고 하는걸 봐서는

openOCD가 각종 jtag를 지원한다고 보는게 맞을 듯.

 

We decided to support both urJTAG and the well known OpenOCD out of the box.

Supported devices
The list of supported devices is constantly being expanded and here is a small selection of the supported devices.

ARM7TDMI » fx LPC2148, AT91SAM7
ARM720T » fx LH79520, EP7312
ARM9TDMI
ARM920T » fx S3C2410, S3C2440
ARM922T
ARM926EJS » fx S3C2412, STN8811, STN8815
ARM966E » fx STR91XF
ARM11 » fx S3C6400, OMAP2420, MSM7200
ARM1136
ARM1156
ARM1176
CORTEX-M1 » fx LPC11 series
CORTEX-M3 » fx LM3S series, STM32F1/F2/F3 series, LPC17 series
CORTEX-M4 » fx STM32F4
CORTEX-A8 » fx OMAP3530 BeagleBoard
CORTEX-A8 » fx DM3730 BeagleBoard-xM
CORTEX-A9 » fx OMAP4430 PandaBoard
XSCALE » fx PXA255, PXA270, IXP42X
MARVEL » fx FEROCEON CPU CORE
FPGA » fx Xilinx Spartan, Virtex or Altera Cyclone, Stratix
CPLD » fx Xilinx CoolRunner or Altera MAX

Technical details
The board itself is 5 by 5 cm with a USB B connector at one side and JTAG and IO headers at another.

The JTAG port supports a wide range of voltages, as it is connected to a couple of voltage translators (74LVC2T45). This makes the uniJTAG even more universal, as you can use it together with any JTAG�able device, running at 1.2V to 5.5V.

The IO header can be used as 8 single controllable IO�s, or it can be used as a full standard UART port. With a jumper you can chose whether the IO�s should be at a 5V level, or a 3.3V level.

The board has also an onboard EEProm for storing the FT2232 configurations, so the uniJTAG is a plug and play solution, and it automatically enumerates as a JTAG and a Serial device.

[링크 : http://www.tkjelectronics.dk/?p=products&product=unijtag]

 

다른 JTAG을 사용..

 

$ lsusb
Bus 001 Device 006: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
Bus 001 Device 028: ID 09fb:6001 Altera Blaster

$ sudo /opt/openocd/bin/openocd -d \
             -f /opt/openocd/share/openocd/scripts/interface/ftdi/digilent_jtag_smt2.cfg \
             -f /opt/openocd/share/openocd/scripts/cpld/xilinx-xc6s.cfg \
             -c "adapter_khz 1000"

$ sudo /opt/openocd/bin/openocd \ 
             -f /opt/openocd/share/openocd/scripts/interface/altera-usb-blaster.cfg \
             -f /opt/openocd/share/openocd/scripts/cpld/xilinx-xc6s.cfg \
             -c "adapter_khz 1000; init; xc6s_program xc6s.tap; pld load 0 ./ise/top.bit ; exit"

[링크 : https://tomverbeure.github.io/2019/09/15/Loading-a-Spartan-6-bitstream-with-openocd.html]

'embeded > ARM' 카테고리의 다른 글

ARM NEON SLP  (0) 2023.08.07
cortex a9 ptm  (0) 2023.07.21
cmsis (Common Microcontroller Software Interface Standard)  (0) 2023.02.27
i.mx8m plus arm trust zone  (0) 2023.02.24
ampere altra / 기가바이트 R272-P30 / 우분투  (0) 2023.02.03
Posted by 구차니