embeded/Cortex-M3 Ti2018. 2. 12. 13:35

이건 정체 불명

CMSIS Cortex-M3 Core Device Startup File for TI Stellaris

[링크 : https://github.com/speters/CMSIS/blob/master/Device/TI/LM3S/Source/ARM/startup_LM3S.s]

    [링크 : https://github.com/speters/CMSIS]


에라 모르겠다.. 없는건 아닌데 KEIL에서 지원하는건 드물고 RTOS 뿐이고

CCS를 통해서는 Stellaris와 TM4C 모두 존재하는 것으로 보인다.


[링크 : http://www.ti.com/tool/cmsis_dsp_headers]

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


CMSIS Drivers No CMSIS-Driver in Device Family Pack.

CMSIS-RTOS Blinky     EK-TM4C1294XL

CMSIS-RTOS Blinky     DK-TM4C129x 

[링크 : http://www.keil.com/dd2/texasinstruments/tm4c123gh6pm/]


Using the CMSIS DSP Library in Code Composer Studio™ for TM4C MCUs

[링크 : http://www.ti.com/lit/pdf/spma041]


Using the CMSIS DSP Library in Code Composer Studio™ for Stellaris®

[링크 : https://eng.eewiki.net/app/db_page/get_file.php?docid=2879]


Description

CMSIS provides additional debug functions to enlarge the Debug Access. Data can be transmitted via a certain global buffer variable towards the target system.


The Cortex-M3 / Cortex-M4 / Cortex-M7 incorporates the Instrumented Trace Macrocell (ITM) that provides together with the Serial Viewer Output (SVO) trace capabilities for the microcontroller system. The ITM has 32 communication channels; two ITM communication channels are used by CMSIS to output the following information:


ITM Channel 0: implements the ITM_SendChar function which can be used for printf-style output via the debug interface.

ITM Channel 31: is reserved for the RTOS kernel and can be used for kernel awareness debugging. 

[링크 : https://www.keil.com/pack/doc/CMSIS/Core/html/group__ITM__Debug__gr.html]

[링크 : http://www.keil.com/download/docs/402.asp]

'embeded > Cortex-M3 Ti' 카테고리의 다른 글

srec_cat.exe  (0) 2018.05.08
cortex m3 어셈블리 bl, cbz  (0) 2018.01.04
cortex-m3 keil 부트로더  (0) 2017.12.21
keil sct - 링커 스크립트  (0) 2017.12.11
lm3s 부트로더  (0) 2017.11.21
Posted by 구차니
embeded/Cortex-M3 STM2018. 2. 12. 13:25

음.. lm3s stellaris를 위한건 없나?

일단 STM32 로는 꽤 많은 자료가 나온다.

[링크 : https://www.doulos.com/knowhow/arm/CMSIS/CMSIS_Doulos_Tutorial.pdf]

    [링크 : https://www.doulos.com/knowhow/arm/CMSIS/index.php]

'embeded > Cortex-M3 STM' 카테고리의 다른 글

STM32CubeIDE 주의사항(?)  (0) 2021.02.02
STM32F103 관련 용어  (0) 2021.02.02
stm32 DMA 관련글들  (0) 2017.12.11
cmsis printf  (0) 2017.01.10
stm32 cortex-m3 api / library  (0) 2015.01.17
Posted by 구차니

잘 되는건지 모르겠지만

주석풀어주면 빌드도 안되는 망할(!) TMS320F2808 예제에서

프로젝트로 확인해보니

//#include <stdio.h>


/*

 * hello.c

 */

int main(void) {

// printf("Hello World!\n");

return 0;


MISRA-C:2004를 지원을 하지만 설정된 체크방법이 하나도 없어서 별다른 에러나 경고가 없는데

귀찮으니 "All" 누르고 다시 컴파일 하면


이런식으로 경고에 MISRA-C:2004 라고 표기되며 나타난다.

간이(?)로 쓰기에는 어떨려나 모르겠네..


CCS v6 까지는 무료로 풀렸으니, 빌드 가능한 녀석이라면 이걸로 간이 체크하는 정도로는 쓸 수 있을지도?

Posted by 구차니
embeded/DSP C2000 Ti2018. 2. 12. 12:29

예전에 이야기 들었던 환상적인(?) 디버깅이 바로 TRACE 였던 듯

JTAG로는 단순(?)한 breakpoint 정도 밖에 못하는데

TRACE를 쓰면 실시간으로 호출되는 프로세스의 사용 시간이라던가

장치에 따라서는 Logic Analyzer를 포함하기에 비쌀수 밖에 없겠구만?


20pin 이라고 다 되는건 아니고

SWO/SWD를 지원하거나 ETM Connector를 지원해야 Trace가 가능 할 것으로 보인다.

[링크 : https://www.arm.com/files/pdf/AT_-_Advanced_Debug_of_Cortex-M_Systems.pdf]

[링크 : http://trace32.com/wiki/index.php/ARM_ETM_Trace와_PowerTrace]


표현이 다르긴 한데.. ETM이나 ETB로 표기되나보다(아니면 특허로 인해서 명칭을 다르게 하거나)

XDS560 Trace 이야기는 나오는데 XDS510USB는 자사 홈페이지 외에는 Trace 관련 내용이 안보이네

  • F24xx
  • C54xx
  • C67xx
  • C62xx
  • C642x
  • C64x+
  • C674x
  • DaVinci™
  • TMS470
  • OMAP™
  • F28xx
  • C55xx
  • C672x
  • C641x
  • C645x
  • DM64x
  • DM355
  • TMS570
  • Cortex™
  • Advanced emulation controller provides high performance
  • Supports Embedded Trace Buffer (ETB) on selected TI devices
  • Operates off PC/laptop USB port, no internal adapter required
  • 14-pin JTAG header 

[링크 : http://www.spectrumdigital.com/xds510-usb-jtag-emulator/]

[링크 : http://processors.wiki.ti.com/index.php/XDS_Target_Connection_Guide#JTAG_header_information]


어!? ETB 지원이 없는 목록에 C28x가 포함이네.. ㅠㅠ

Device Support

Please check your datasheet for details. The Embedded Trace buffer is available and has been used on the below example devices:

  • ARM926: DM644x, DM646x, DM33x, DM35x, DM36x, OMAP-L13x, AM17x, AM18x.
  • ARM11: OMAP2420, OMAP2430
  • Cortex-A: all AM devices (AM335x, AM35xx, AM37xx, AM38xx), DM37xx, DM81xx, OMAP34xx, OMAP35xx, OMAP44x.
  • Selected C6000 devices: TNETV3020, TCI648x, TCI66xx, C66xx
  • DSP+ARM: C6A816x (single shared ETB)
  • Devices with NO ETB support: Cortex-M, Cortex-R, C645x, C642x, DM64x, DM643x, C64x, C62x, C67x, C55x, C54x, C28x, C24x. 

[링크 : http://processors.wiki.ti.com/index.php/Embedded_Trace_Buffer]

[링크 : http://processors.wiki.ti.com/index.php/Debugging_With_Trace#How_and_when_to_use_trace:]


약자들의 향연! 그나저나.. ETB는 없어도 ITM은 있는데 printf 스타일 디버깅은 가능하다는건가?

아니면 TPIU라는걸 통해서 트레이스 가능하다는건가?

– Full-featured debug solution

• Serial Wire JTAG Debug Port (SWJ-DP)

• Flash Patch and Breakpoint (FPB) unit for implementing breakpoints

• Data Watchpoint and Trigger (DWT) unit for implementing watchpoints, trigger resources,

and system profiling

• Instrumentation Trace Macrocell (ITM) for support of printf style debugging

• Trace Port Interface Unit (TPIU) for bridging to a Trace Port Analyzer


[링크 : http://www.ti.com/lit/ds/symlink/lm3s1607.pdf]


ITM은 printf 대신에 사용하고, 몇줄 쓰지 않아서 Cortex-R 등에서 유용하게 간접적으로 쓸 수 있는 방법이다

[링크 : http://www.epnc.co.kr/news/articleView.html?idxno=45715]

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

TMS320 보드 버전  (0) 2020.02.18
TMS320 DSP 준비..  (0) 2020.02.16
TMS320F2808 XDS510USB/XDS510PP+  (0) 2018.02.12
SWD / RTDX / HSRTDX 속도 비교  (0) 2018.02.12
xds100 510 560  (0) 2018.02.10
Posted by 구차니
embeded/DSP C2000 Ti2018. 2. 12. 10:49

TMS320F2808은 C2000 시리즈의 Piccolo 패밀리 인듯

일단 얘는 Delfino 보다는 낮은 성능이다.

[링크 : http://www.ti.com/microcontrollers/c2000-performance-mcus/real-time-control/overview.html]


c2000은 c28x 기반이라고 하는데 동급으로 취급하기에는 애매하려나?

C2000 Real-time Control MCUs are C28x-based 32-bit microcontrollers with a high-performance core and application-tuned peripherals designed for real-time control applications. 

[링크 : http://www.ti.com/microcontrollers/c2000-performance-mcus/real-time-control/overview.html]


16Bit Word라고 하는거랑 상관없이 그냥 KB로 보면 되는 거였나?

[링크 : http://www.ti.com/product/TMS320F2808]


이전글 비교해보니.. 16bit WORD라 2배 크게 기재 된 것으로 보인다.

2018/02/10 - [embeded/DSP C28x Ti] - tms320f2808 스펙


어라.. C2000이 없네?

Installation Instructions for CCStudio v4.x and the Spectrum Digital XDS510/XDS560v2 JTAG Emulator

Emulators XDS560v2, XDS510USB, XDS510USB-GALVANIC, XDS510USB-PLUS, C2000 XDS510LC, XDS510PP+, SPI515, SPI525

Processors ARM7, ARM9, ARM11, F2400, F2800, C54x, C55x, C62x, C64x, C64x+, C67x, Cortex

Starter Kits DSK5416, DSK5510, DSK6713, DSK6416, DSK6455, DSKTCI6482, eZdsp2400,eZdsp2800 

[링크 : http://support.spectrumdigital.com/ccs40/]

[링크 : http://support.spectrumdigital.com/]

    [링크 : http://emulators.spectrumdigital.com/files/XDS510pp_plus_QSG.pdf]



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

TMS320 DSP 준비..  (0) 2020.02.16
JTAG ETM / ETB / ITM  (0) 2018.02.12
SWD / RTDX / HSRTDX 속도 비교  (0) 2018.02.12
xds100 510 560  (0) 2018.02.10
tms320f2808 스펙  (0) 2018.02.10
Posted by 구차니
개소리 왈왈/컴퓨터2018. 2. 12. 10:09

멜트다운이나 스펙터나 둘다

CPU 성능을 끌어 올리기 위한 방법으로

나중에 필요한 계산을 미리 끌어다 수행해 두는데서 발생을 하는데


멜트다운은 비순차 실행 유닛에서

스펙터는 분기예측 유닛에서 발생을 함


비순차는 계산에 있어서 순서를 고려하지 않아도 될 연산에 대해 먼저 끌어다 하는 건데

(예를 들어 곱하기와 덧셈이 있으면 같은 덧셈들 끼리는 미리 해놔도 됨)

이 과정에서 CPU 권한 레벨을 무시하고 미리 계산하는 바람에 계산된 내용이 cache나 RAM에 저장해 두면서

그 값을 보고는 접근 불가능한 내용에 다른 애들이 접근하는 문제가 발생


분기예측은, if문이 있으면 어느게 수행될 가능성이 높은지 보고

미리 계산해 두면 if문 결과가 나올때 까지 기다릴 필요없이 빠르게 수행해서 성능을 끌어 올릴 수 있는데

실행될 수도 없고(권한 문제) 실행되어지지 않을(확률이 낮은 쪽?) 루틴을 

다른 사용자의 실행 시기에 분기예측으로 실행하게 함으로서(남의 권한으로)

다른 사용자의 메모리 영역을 침범하는게 원리 인 듯.


다시 보면.. 비순차 실행이나, 분기예측이나 두가지 기술 모드

PID에 의한 권한 처리 없이 파이프라인에 밀어 넣어서 CPU 사용율 자체를 끌어올려

성능을 올리는게 문제였고,

이 취약점을 공격하는데 필요한 것은 정밀 타이머이기 때문에

(캐시에 데이터 없으면 램에서 읽어 오는데 그 딜레이를 측정해야 함)


웹 브라우저들은 High Precision Event Timer (HPET) 를 무력화 시키거나

[링크 : https://en.wikipedia.org/wiki/High_Precision_Event_Timer]


분기예측 일부분을 사용불가능 하도록 하면서 우회한 듯

근데.. 하스웰 이전에는 그럼.. 어떻게 대응한거지?

그리고 win7과 win10의 성능하락 차이도 궁금해지네

For context, on newer CPUs such as on Skylake and beyond, Intel has refined the instructions used to disable branch speculation to be more specific to indirect branches, reducing the overall performance penalty of the Spectre mitigation. Older versions of Windows have a larger performance impact because Windows 7 and Windows 8 have more user-kernel transitions because of legacy design decisions, such as all font rendering taking place in the kernel. We will publish data on benchmark performance in the weeks ahead. 

[링크 : https://cloudblogs.microsoft.com/...-impact-of-spectre-and-meltdown-mitigations-on-windows-systems/]

    [링크 : http://www.hwbattle.com/bbs/board.php?bo_table=cpumbram&wr_id=97903]


[링크 : http://poem23.com/3214]

[링크 : http://www.hwbattle.com/bbs/board.php?bo_table=cpumbram&wr_id=97004]

[링크 : http://www.hwbattle.com/bbs/board.php?bo_table=cpumbram&wr_id=97036]

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

gtx650 / gtx950  (4) 2018.03.27
친구놈의 선물 ㅋㅋ  (0) 2018.03.03
지름지름 하드지름  (0) 2018.02.01
공유기 도착!  (0) 2018.01.30
지름은 홀로 오지 않는다.. ㅠㅠ  (0) 2018.01.28
Posted by 구차니

TV 안보고 살아서 몰랐는데 

기사 뜬게 있어서 보다 보니.. ㄷㄷ 인텔 이놈들 외계인 또 몇명을 갈아 넣었나..


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


2016년 5월 4일자

100대 드론 

[링크 : https://iq.intel.com/100-flying-robots-shine-light-on-drone-regulations/]


그리고 2018년 2월 10일 평창

1218대 드론

[링크 : http://www.hani.co.kr/arti/science/technology/831705.html]



그나저나 스키 타고 간 사람들 오륜기 불 들어 오는건

마스게임 처럼 한건지 아이돌 콘서트 처럼 중앙 제어 한건진 애매하네

'개소리 왈왈 > 쿼드콥터(RC)' 카테고리의 다른 글

300m 1km 까지되는 드론?  (2) 2019.02.06
심심해서 장난감 수리!  (2) 2018.11.03
하루늦은(?) syma X8g 분해기  (0) 2017.12.19
드론 야간비행, 시계외 비행 허용...?  (0) 2017.11.09
syma x8 배터리..  (0) 2017.10.29
Posted by 구차니
embeded/DSP C2000 Ti2018. 2. 12. 05:59

그래도 나중에 나온 SWD가 속도 자체는 더 빠른거군..

그런데.. 4MB/s 라.. 32Mbps 인데 Trace 이런거에 영향을 주는 속도인가?


4MB/s

[링크 : https://en.m.wikipedia.org/wiki/JTAG#Similar_interface_standards]


The XDS560 also supports standard RTDX, boosting those speeds to as high as 130 KBytes/second. In addition, the XDS560 offers High Speed RTDX (HSRTDX) for enabled processors with bandwidth of over 2 MBytes/second.

[링크 : http://processors.wiki.ti.com/index.php/High_Speed_RTDX_(HSRTDX)]

[링크 : http://processors.wiki.ti.com/index.php/Real_Time_Data_eXchange_(RTDX)]

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

JTAG ETM / ETB / ITM  (0) 2018.02.12
TMS320F2808 XDS510USB/XDS510PP+  (0) 2018.02.12
xds100 510 560  (0) 2018.02.10
tms320f2808 스펙  (0) 2018.02.10
CCS 5.5.0과 TMS320F2808  (0) 2018.02.10
Posted by 구차니

똥개 산책을 시키러 나가는데

눈이.. 옆으로 가다 말고

올라가네?


산책로가 강이 있고 그 옆길이다 보니

강바람이 타고 올라와서

가벼운 눈을 위로 불어 올려주고 있었다.


미친듯이 쏟아지는 눈이었다면 바람에 올라가지 못했을꺼고

바람이 불지 않았다면 올라가지 못했을꺼고

눈이 무거운 녀석이었다면 바람에 올라가지 못했을 꺼고


모든 조건이 맞춰진 상태에서

아주 운이 좋게 내가 마침 그 길을 지나고 있었을 뿐이고

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

나도 한글이 싫다  (0) 2018.03.05
새마을금고 출자금 1좌금액 증액  (0) 2018.02.26
추운게 낫지.. 미친..  (0) 2018.02.09
사회의 패러다임이 변한건가?  (0) 2018.02.07
신용카드 어렵다..  (0) 2018.01.31
Posted by 구차니
embeded/DSP C2000 Ti2018. 2. 10. 23:48

일단 XDS100은 가장 염가형(근데 한 10만원.. ㄷㄷ)

XDS510은 RTDX를 지원하고

XDS560은 RTDX, HS-RTDX를 지원하는 차이가 있음

ARM에서 JTAG 속도는 쓰는데 영향을 주지 않는다는 말이 JTAG 설명에서 본거 같은데..

그럼 ETM을 통한 TRACE 속도에만 영향을 주고

고속으로 작동하는 로직이 필요해서 가격이 올라가는 건가?


[링크 : http://processors.wiki.ti.com/index.php/XDS100]

[링크 : http://processors.wiki.ti.com/index.php/XDS510]

[링크 : http://processors.wiki.ti.com/index.php/XDS560]

[링크 : http://processors.wiki.ti.com/index.php/Real_Time_Data_eXchange_(RTDX)]

[링크 : http://processors.wiki.ti.com/index.php/High_Speed_RTDX_(HSRTDX)]

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

TMS320F2808 XDS510USB/XDS510PP+  (0) 2018.02.12
SWD / RTDX / HSRTDX 속도 비교  (0) 2018.02.12
tms320f2808 스펙  (0) 2018.02.10
CCS 5.5.0과 TMS320F2808  (0) 2018.02.10
CCSv5 설치 및 XDS510 USB  (0) 2018.02.09
Posted by 구차니