Raspberry + j-linik(segger)

Тема в разделе "Raspberry Pi", создана пользователем Igor68, 16 сен 2021.

  1. Igor68

    Igor68 Гуру

    Работает прямо на малине.
    Код (Text):

    Available commands are:
    Command name     Command syntax                                      Command function
    ?                ? [<Command>]                                       Show information about all or specific commands.
    Exit             Exit                                                Close J-Link connection and quit.
    ExitOnError      EoE <1/0>                                           Exit on error.
    Sleep            Sleep <Delay>                                       Waits the given time (in milliseconds).
    Log              Log <filename>                                      Enables log to file.
    ExpDevList       ExpDevList <Filename>                               Export device names from DLL internal device list to text file.
    ExpDevListXML    ExpDevListXML <Filename>                            Export device names from DLL internal device list to XML file.
    USB              USB [<SN>]                                          Connect to J-Link via USB.
    IP               IP <IPAddr|RemoteServerString>                      Connect to J-Link  via TCP/IP or to Remote Server.
    SelectProbe      SelectProbe [<Interface0> <Interface1> ...]         Show list of all connected probes via specified interface. The Probe to communicate with can then be selected.
    ShowEmuList      ShowEmuList [<Interface0> <Interface1> ...]         Show list of all connected probes via specified interface.
    Power            Power <On|Off> [perm]                               Switch power supply for target.
    VTREF            VTREF <Value[mV]>. 0 == Auto detection              Set fixed value for VTref on J-Link.
    VCOM             VCOM <enable|disable>                               Enable/disable VCOM. Takes effect after power cycle of the Probe.
    ShowFWInfo       ShowFWInfo                                          Show firmware info.
    ShowHWStatus     ShowHWStatus                                        Show hardware status.
    License          License                                             Show list of all available license commands.
    IPAddr           IPAddr                                              Show/Assign IP address and subnetmask of/to connected Probe.
    GWAddr           GWAddr                                              Show/Assign network gateway address of/to connected Probe.
    DNSAddr          DNSAddr                                             Show/Assign network DNS server address of/to connected Probe.
    ShowConf         ShowConf                                            Show configuration of the connected Probe.
    Calibrate        Calibrate                                           Calibrate the target current measurement.
    Connect          Connect                                             Connect to target device.
    Device           Device <DeviceName>                                 Select specific device J-Link shall connect to.
    SelectInterface  SelectInterface <Interface>                         Select target interface.
    Speed            Speed <freq|auto|adaptive>                          Set target interface speed.
    LE               LE                                                  Change mode to little endian.
    BE               BE                                                  Change mode to big endian.
    Halt             Halt                                                Halt CPU.
    IsHalted         IsHalted                                            Return current CPU state.
    WaitHalt         WaitHalt [<TimeoutMs>] (default: 1000 ms)           Wait until CPU is halted or timeout is reached.
    Go               Go                                                  Start CPU if halted.
    Reset            Reset                                               Reset CPU.
    ResetX           ResetX <DelayAfterReset>                            Reset CPU with delay after reset.
    RSetType         RSetType <Type>                                     Set the current reset type.
    Step             Step [<NumSteps> (decimal)] (default is 1)          Execute step(s) on the CPU.
    .... вырезал - много очень!
    Mem16            Mem16 [<Zone>:]<Addr>, <NumItems> (hex)             Read 16-bit items.
    Mem32            Mem32 [<Zone>:]<Addr>, <NumItems> (hex)             Read 32-bit items.
    Write1           W1 [<Zone>:]<Addr>, <Data> (hex)                    Write  8-bit items.
    Write2           W2 [<Zone>:]<Addr>, <Data> (hex)                    Write 16-bit items.
    Write4           W4 [<Zone>:]<Addr>, <Data> (hex)                    Write 32-bit items.
    JTAGConf         JTAGConf <IRpre>, <DRpre>                           Set number of IR/DR bits before Target device.
    .... вырезал - много очень!
    TStart           TStart                                              TRACE - Start.
    TStop            TStop                                               TRACE - Stop.
    SWOSpeed         SWOSpeed                                            SWO - Show supported speeds.
    SWOStart         SWOStart                                            SWO - Start.
    SWOStop          SWOStop                                             SWO - Stop.
    SWOStat          SWOStat                                             SWO - Display SWO status.
    SWORead          SWORead                                             SWO - Read and display SWO data.
    SWOShow          SWOShow                                             SWO - Read and analyze SWO data.
    SWOFlush         SWOFlush                                            SWO - Flush data.
    SWOView          SWOView                                             SWO - View terminal data.
    Erase            Erase [<SAddr>, <EAddr>]                            Erase flash (range) of selected device.
    LoadFile         LoadFile <FileName>, [<Addr> (.bin only)].          Load data file into target memory. Supported ext.: *.bin, *.mot, *.hex, *.srec
    .... вырезал - много очень!
    TestRSpeed       TestRSpeed [<Addr> [<Size>] [<NumBlocks>]]          Measure upload speed from target memory.
    TestCSpeed       TestCSpeed [<RAMAddr>]                              Measure CPU speed.
    TestNWSpeed      TestNWSpeed [<NumBytes> [<NumReps>]]                Measure network download speed.
    TestNRSpeed      TestNRSpeed [<NumBytes> [<NumReps>]]                Measure network upload speed.
    MR               MR                                                  Measure RTCK react time.
    Clock            Clock                                               TCK - Clock.
    Clock00          Clock00                                             TCK - Clock with TDI = TMS = 0.
    ClrTCK           ClrTCK                                              TCK - Clear.
    SetTCK           SetTCK                                              TCK - Set.
    ClrTDI           ClrTDI                                              TDI - Clear.
    SetTDI           SetTDI                                              TDI - Set.
    ClrTMS           ClrTMS                                              TMS - Clear.
    SetTMS           SetTMS                                              TMS - Set.
    ClrTRST          ClrTRST                                             TRST - Clear.
    SetTRST          SetTRST                                             TRST - Set.
    ClrRESET         ClrRESET                                            RESET - Clear.
    SetRESET         SetRESET                                            RESET - Set.
    ну ещё (уж больно много):
    Код (Text):
    J-Link: ARM9 CP15 Settings changed: 50078 from 51078, MMU Off, ICache Off, DCache Off
    PC: (R15) = 00101104, CPSR = 60000093 (SVC mode, ARM IRQ dis.)
         R0 =00008200, R1 =00000B00, R2 =00000040, R3 =001010D0
         R4 =FFFA4000, R5 =00000002, R6 =00000000, R7 =003002DC
         R8 =00300F98, R9 =00000040, R10=00000013, R11=00000000, R12=003002DC
         R13=00300F7C, R14=001010F4, SPSR=00000010
    USR: R8 =00300F98, R9 =00000040, R10=00000013, R11=00000000, R12=003002DC
         R13=B39CF7BD, R14=BBFE44AD
    FIQ: R8 =45F83C3F, R9 =FFFA0000, R10=FFFFF600, R11=FFFFF000, R12=00300300
         R13=87A23E59, R14=9030A002, SPSR=00000010
    IRQ: R13=10425B5A, R14=02842061, SPSR=00000010
    SVC: R13=00300F7C, R14=001010F4, SPSR=00000010
    ABT: R13=2508F2D2, R14=398BAC07, SPSR=00000010
    UND: R13=73C00B05, R14=88C899B4, SPSR=00000010
    Код (Text):
    igor@Irpi4:~/coding/JLink_Linux_V754b_arm $ ./JLinkExe
    SEGGER J-Link Commander V7.54b (Compiled Sep 14 2021 16:15:59)
    DLL version V7.54b, compiled Sep 14 2021 16:15:43

    Connecting to J-Link via USB...O.K.
    Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46
    Hardware version: V8.00
    S/N: 11111118

    Type "connect" to establish a target connection, '?' for help
    Please specify device / core. <Default>: AT91SAM9260
    Type '?' for selection dialog
    Одним словом работает прямо на малине 4. Вот только JFlash (он GUI) хочет активации, ну прямо как в Винде. Ну что же SEGGER он и есть SEGGER.

    а это в довесок:

    Скачал, установил... но как сервер не испытал. Правда искал конфигурацию JLink для openocd. Испытал - работает. Осталось придумать как к codeblocks всё это прикрутить. А может Keil uVision на малине бывает?
  2. Un_ka

    Un_ka Гуру

    Он проприетарный, зачем разработчикам собирать его для arm?
  3. Igor68

    Igor68 Гуру

    Да кто его знает... я просто искал J-Link и желательно для opencd, а вот наткнулся. И он работает. Железка J-Link под рукой, испытал и работает! Даже JLink.exe там называется JLinkExe, но функционал выше и добавлены чипы в списке. Одно только, никогда не юзал JLink(программу) в пакетном режиме. Вот бы её в BASH закрутить с интерфейсом с этим самым BASH. Как демона запускать что ли? Или он JLinkExe сам "перваривает" скрипты для него? Тогда надо курить! Опять курить?! Выгоднее наверное opencd курить - окурков меньше, да и не одновременно всё курить трудно... уж больно много всё сразу.