Git Ignore with 소스트리 > 자유게시판 1

본문 바로가기
사이트 내 전체검색

자유게시판 1

Git Ignore with 소스트리

페이지 정보

작성자 최고관리자 댓글 0건 조회 5회 작성일 24-06-30 22:02

본문


Git Ignore with 소스트리

terran0722 contents are below.

References: 05-terran0722 contents: Go Click
Other Blog: Blog ArtRobot (Title: Git Ignore with 소스트리) More ...
Publish Date: (2024-06-03|5:34 am), Modified Date: (2024-07-01|7:02 am)


--- Blog Post Contents
stm32f746 disco - uclinux
m7 disco board 최근에 m7 discovery 보드에 관심이 생겨 8만원 주고 구매를 했다 746 discovery 보드에서 제공하는 외부 인터페이스가 다양해서 이것저것 장난감 삼아 주변 장치를 테스트하기 좋아보였기 때문이다. m7은 내가 주로 사용하는 m4에 비하면 주변 장치와 내부 sram 자원이 많이 풍부하고 system clock도 빠른 것으로 확인되었다. 더군다나 pc급 cpu에서나 볼 수 있던 cache 개념이 arm core m7에서 적용된다는 것을 다시 확인했다. m7 discovery 자료를 검색하던중 우연히 emraft 사라는 곳에서 discovery에 맞는 bsp와 uclinux 관련 u-boot와 kernel image를 제공하고 있다는 사실을 확인했다. porting 과정은 매우 단순했다. 애초....... (Publish Date: 2022-07-23)

nRF51422 DK Board, PCA10028
BLE DK nRF는 노르딕사에서 내놓는 mcu 시리즈로 무선 통신 Bluetooth Low Energy에 특화된 스택과 ble 예제, 인증을 위한 시험용 예제 등을 제공하고 있다. bluetooth 는 classic BT (BR, EDR)과 그 이후 나온 버전인 BLE로 나뉘게 되는데 어떤 선배님의 의견으로는 BT는 사라지고 BLE만 남을 거라고 하는데..... 잘 모르겠다. 어쨌든, 단말 칩의 ble의 무선 성능 테스트를 위해 DTM 이라는 기능이 있는데 이러한 것들을 듣다보니 ble 스택과 기능, 그리고 test 예제들이 궁금해져 DK 보드를 구매했다. PCA10028 , nRF51422 은 BLE v4.x 를 지원하며 이에 관련된 예제를 IAR, Keil 등으로 제공하고 있다. keil로 example 을 돌릴 예정이다. 이들....... (Publish Date: 2021-11-24)

RJ45 커넥터 with transformer
RJ45 커넥터 선행 개발용으로 만든 보드에는 몇 가지 통신 인터페이스가 있는데 그 중 하나가 이더넷이다. 이더넷 커넥터는 일반적으로 RJ45 쓰는데, 사내에서는 RJ45 to 5267-5 pin 커넥터로 바꿔서 mcu 보드로 연결해서 쓰는 것이 사내 공용 표준이다. 그러나, 현재 내가 별도로 설계한 보드는 RJ45 커넥터로 확정지었다. 이더넷 포트쪽에는 시그널 절연의 목적으로 시그널 트랜스포머가 들어가게 되는데 이것이 내장되어있는 RJ45를 쓰면서 또 다시 삽질이 시작되었다. 일반적인 공유기 제품군들은 PCB에 시그널 트랜스포머 자체를 박아버리지만, pcb 사이즈를 조금 작게 하고자 트랜스포머가 내장된 RJ45 커넥터를 사용한 것이 이 글을 쓰게....... (Publish Date: 2021-10-24)

STM32F4 External SRAM (FSMC)
SRAM with FSMC Stm32f407칩은 끝에 part명에 따라 fmc 또는 fsmc를 지원한다. 내 경우, 4MByte 를 외부 메모리로 확장시키기 위해서는 FSMC 인터페이스가 필요했다. 또, 407은 FSMC나 FMC를 지원한다고 해도 SDRAM을 사용할 수 없다. 그래서 속도가 빠르면서 읽고 쓸 수 있는 SRAM을 선택하여 보드 설계를 진행했었다. SRAM Test 데이터 시트를 보면 FSMC의 Bank1 을 SRAM으로 설계하여 사용했을 경우, 그 메모리 주소는 아래와 같았다. 바로 0x6000 0000 백문이 불여일타라는 말씀을 남기셨던 어떤 펌웨어 강사님의 말에 따라 곧 바로 테스트를 진행했다. keil 의 attribute 키워드를 이용하여 변수의 주소를 강제로 외부 메모리쪽으로 지정했....... (Publish Date: 2021-10-20)

cppcheck with Keil
Static Code Analisys S/W 검증에는 정적/동적 검사가 분류된다. 동적 검사는 코드를 실행하며 제품 동작을 확인하며 검사하는 것이고 정적 검사는 코드 자체만을 검사하기 때문에 프로그램을 실행하지 않는다. 정적 검사에서 MISRA - C 코딩 Rule 을 지키는지 검사한다. 이 글의 기록하는 내용은 정적 검사 툴에 관한 것이다. S/W 코드 검증 분석 툴은 여러 가지가 있는데 그 중에서 무료로 사용하기에 좋은 프로그램이 있다. cppcheck https://cppcheck.sourceforge.io/ 해당 프로그램은 위 링크에서 다운로드 할 수 있다. 주력으로 사용하는 IDE는 keil uvision이므로 keil에 cppcheck를 설정하는 방법을 기록하고자 한다. 1. tools -> cus....... (Publish Date: 2021-10-13)

STM32L476 Discovery with Speaker Test (BSP 사용)
stm32l476 discovery board 16년도즈음 ST 오프라인 강의를 듣기 위해 강남을 간 적이 있었다. 세미나실에서 신청한 사람들을 대상으로 STM32L476VGT6 보드를 기반으로 주변 장치 실습을 하는 내용이었는데 교육이 끝나고 이 디스커버리 보드를 무료로 모두에게 나눠주었다. 한참을 잊고 지내다 먼지쌓인 이 보드가 갑자기 뜬금없이 눈에 들어와 잠깐 테스트 용도로 사용해봤다. 참고로 보드는 아래와 같이 생겼다. 관심있던 테스트는 바로 오디오쪽인데 해당 보드는 스피커 출력이 회로에 포함되어 있어, 외부 스피커에 연결하면 사운드를 출력할 수 있다. 그들의 doc를 확인해보면 record를 통해 음성 녹음을 한 뒤, Player를 통해 사운드 장치....... (Publish Date: 2021-08-28)

STM32F401, OLED Test
OLED 여느 주말, MCU의 외부 Display 장치중에 가지고 놀만한 녀석이 있어 새로이 구매하여 Test 해보았다. 여느 디스플레이 장치들이 그러하듯, 금번 테스트했던 LED 또한 드라이버를 제공하고 있다. (편하게 사용할 수 있다는 사실은 물론 알고 구매한 것이지만,,,) SSD1306 드라이버를 SPI 인터페이스를 통해 명령어를 보내면, 화면을 컨트롤 해주어 명령대로 출력하게 된다. 사용한 모듈은 아래 핀 맵을 가진 OLED였다. D0 / D1 / RES / DC / CS 주요 핀 맵을 모두 MCU에 맞춰주어야 하는데 처음엔 실크가 저렇게 나와 있어서 무슨 핀인지 이해를 하지 못했다. 찾고 나서 보니깐 다음과 같았다. D0 -> SCLK D1 -> MOSI RES -> RESET....... (Publish Date: 2021-08-22)

STM32F407 FSMC, 메모리 추가 검토
SRAM 현재 사용하고 있는 Cortex M4에 내장된 SRAM은 SRAM1이 112KB, SRAM2는 16KB 그리고 CCM으로 64KB의 내장 SRAM을 가지고 있다. 부득이 485 라인을 통해 이상한 파워값 데이터를 특정 시간동안 읽어서 PC로 뿌리기 위해 중간에 메모리에 저장할 필요가 있어보여 외부 메모리 인터페이스가 필요한 상황이다. 485의 한 노드에서 최대 512KByte 이고 노드가 4개이므로 2MByte가 필요한 셈이다. 순탄하게 진행되었다면 글을 좀 더 멋지게 썼겠지만,,,, 그렇지 못했기에 자기 반성의 의미와 함께 새로운 삽질의 역사를 기록하고자 급히 글을 써본다. 처음엔 분명히 FSMC를 통해 사용중인 M4에 외부 SRAM을 추가할 수 있음은 알고 있었다. 그런데....... (Publish Date: 2021-08-18)

STM32F4 USB CDC
USB High Speed with STM32F407IG STM32F4 내부 IP엔 USB 통신을 할 수 있도록 기능을 지원한다. 본의 아니게 선행 개발 단계에서 USB High Speed 인터페이스를 이용하여 PC에 수 백 킬로 바이트의 데이터를 뿌려야 하는 일이 발생했다. 써본적이 없어서 그런지 연결이 안 되면 왜 안 되는지 도통 그 이유를 모르고 있다가 구글링의 도움으로 어찌저찌 스트링을 뿌려보게 되었다. 웃긴건,, USB에 대한 지식은 그저 VCC / D+ D- / GND 그리고 Low Speed / High Speed / Full Speed 가 있다는 것 빼곤 전무하다 ㅡ,.ㅡ; 처음엔 막연히 되겠거니 했으나, USB HS 를 쓰기 위해선 외부에 USB Phy 칩이 필요하다는 것을 알았고 그것이 USB ULPI Transce....... (Publish Date: 2021-08-03)

라즈베리파이 드론 Test with Visual Studio 2019
드론 구성 확인 및 테스트 금번 글은 지난번 구축했던 환경을 이용하여 드론 날개를 천천히 돌려보았다. 구매한 드론 키트는 아쉽게도 하드웨어를 공개하지는 않아서 제공된 오픈 소스만 이해해야 하나, 소스를 보다보니 하드웨어가 짐작 가기는 한다. 지레 짐작하기론 아래와 같이 구성된 거 같다. 자이로 센서 모듈 l (I2C) l 블루투스 모듈 <-- (UART) --> 라즈베리파이 제로 <-- (I2C) --> 모터 구동용 로직 <-- (PWM) --> 모터 성의없는 블록도인 거 같다만 그건 어디까지나 기분탓일 것이다.. 참고로 저기서 모터는 BLDC이고 모터 구동 로직에 들어간 IC는 PCA9685 라고 한다. 나중에 이 드라이버의 PWM 출력은 PID 제어....... (Publish Date: 2021-05-23)

라즈베리파이 Zero와 Visual Studio 2019 Community
잡담 학부시절과 첫직장 이후에는 딱히 임베디드 리눅스 관련 소프트웨어나 하드웨어를 만져본 일이 없었다. 하루는 눈에 띄는 장난감 키워드를 하나 발견하게 되었는데 라즈베리파이를 이용한 드론 제작한 제품이었다. 더군다나 이를 C++로 사용했다고 하니 어떻게 짠건지 궁금해지기 시작했었다. 하드웨어는 오픈이 아니였으나, 소스와 예제를 제공하고 책까지 있는 제품을 마침내 발견했고 적지 않은 돈을 들여 지름을 했다. 불행?의 시작인지, 해당 교재에서 makefile에 대한 설명은 없었고 해당 프로젝트를 위한 g++ 키워드만 보여주고 있었다.. 아무튼, 본인이 기억과 경험하기로, 호스트 (사용자 PC)와 타겟 (임베디드 시스템이 들어간 제....... (Publish Date: 2021-05-17)

STM32F072 Vector Table Remap
Memory Remap 모든 프로젝트는 항상 부트로더와 main Application이 쌍으로 존재한다. 필드에 제품이 나가면 혹여나 F/W Update를 원격을 칠 수 있도록 하기 위함이다. 당연히 금번 사용한 M0 또한 그래야만 했다. 다행히도 기존에 사용하던 M0용 부트로더가 있어 약간의 수정만 하여 바로 적용했다. Main F/W를 점프시키면, M4의 경우에는 VTOR 레지스터와 Keil Tool에서 Flash 시작번지만 바꿔주면 되었으나, M0는 VTOR 라는 레지스터가 없어 벡터 테이블을 SRAM에다 재배치 시켜서 써야한다. 이 또한, 관련 레거시 코드가 있어서 가져다 적용했는데 처음엔 무슨 의미인가 하고 보다가 StartUp code랑 대조하면서 보니 바로 이해가 갔다. 익셉....... (Publish Date: 2021-04-02)

FreeRtos 쓰레드 전류 소비량
RTOS 파워 소모 측정 근래 들어서 회사 보드에 기존 RTX RTOS가 아닌 FreeRTOS를 포팅하여 선행 개발을 진행하고 있는데 갑자기 FreeRTOS가 포팅되었을 때의 전류 소비량이 얼마나 되는지 궁금해졌다. 세팅 환경은 다음과 같았다. 일단, 펌웨어 자체가 아무것도 없는 벽돌 상태에서의 소비 전류는 아주 작게 나왔다. 거의 전원용 주변 장치 클럭이나 부품들에서 소비되는 것으로 보였고 LED가 있어 계산을 해보니, LED는 5mA 가 소비되도록 회로가 구성되어 있었다. 그러니까, 27 - 5 = 22mA 가 주변장치 세팅과 전원을 끌어다 어디선가 쓰고 있다는 얘기가 된다. Check 1 스케줄링 시작 전 구글링을 통해 FreeRTOS 커뮤니티에서 osKernelSt....... (Publish Date: 2021-01-10)

TCP/IP 무료 Stack, LwIP
TCP/IP Stack license 제품에 이더넷 기능을 넣을 필요가 있는 것들은 보통 사내에서 구매한 Keil uVision Pro 라이센스에서 제공되는 이더넷 스택을 사용했다. phy칩은 KSZ8081RNA를 사용하며 이를 위한 TCP/IP 스택은 사용하기 정말 편리하게 되어 있었다. ARM Network INFOMATION 사이트를 들어가면 이 스택에 관련된 내용과 예제를 볼 수 있어서 정말 유용했다. 하지만, 라이센스에 제약이 있어 컴파일이 반드시 프로여야만 하는 문제점은 둘 째로 치더라도 라이센스 갯 수가 인당 1개가 아니라 플로팅으로 쓰다보니 선행 개발 제품에서는 이 TCP/IP 스택을 쓰고 싶지 않아졌다. 그래서 생각한 것인 "LwIP" 생각외로 LwIP는 많은 이....... (Publish Date: 2021-01-09)

슈퍼 루프
슈퍼루프 슈퍼루프란 무한 루프를 맴돌면서 동작에 관여하는 모든 함수들을 반복적으로 실행시키는 것을 말한다. (폴링하고는 다르다) 보통 펌웨어상에선 while (1) 안에 동작 할 함수들을 모두 배치한다. 반면, MCU가 OS 포팅없이 동작할 때에는 동작에 기여하는 함수는 엔지니어가 직접 스케줄링이 필요하다. OS 없이 MCU가 동작하는 펌웨어를 NON-OS 라고 말하여 취급한다. OS가 포팅될 경우, 주요 쓰레드들이 여러 개가 돌아가면서 동작에 직간접적으로 간여한다. 스케줄링 슈퍼 루프 안에서 MCU가 외부 장치들을 제어할 때 특정 시간마다 센서 데이터를 출력하거나 특정 시간마다 한 번씩 상태를 알린다던지 혹은 제어 신호를 보내야 할 경....... (Publish Date: 2021-01-01)

Bypass Capacitor for power(바이패스 커패시터)
Bypass 식상한 주제가 될지 모르겠지만, 바이패스 커패시터를 끝으로 주말을 마무리 할까 한다. Cortex M 혹은 A 시리즈의 MCU or CPU 주변 회로중에서 유독 전원 핀맵들에는 커패시터가 병렬로 매우 많이 달려있는 것을 볼 수 있다. 그것도 저마다 값들이 제각각이니 도대체 이것이 무슨 이유인지 잘 몰랐다가 EEvBlog 유튜브 영상과 카페 검색 등을 통해 알아내었었다. 다음 회로는 Cortex M0 와 Cortex A 시리즈의 전원부 회로였다. 일단 극성이 표시되어 있지 않은 한은 모두 MLCC (walsin과 murata) 였고 이미지상으로 볼 때 같은 값으로만 병렬로 연결되어 있지만, 종종 1uF (106)도 0.1uF 옆에 병렬로 연결하여 많이 사용한다. 첨언하자면....... (Publish Date: 2020-12-27)

RS485 통신2
RS485 통신 프로그래밍 지난번 포스팅에서 485 관련 회로 로직에 대해 정리했었다. 이번 글은 485를 어떻게 프로그래밍 해서 PC에 메시지를 띄웠는지 기록하고자 한다. 485를 위해서 다음 소스파일과 헤더파일에 관련 내용을 정리했다. 가끔 애용하는 Notepad++로 실제 C 소스를 한 곳에 정리해서 올려보면 다음과 같다. RS485_ENABLE 단자는 이전 485 포스팅의 핀 맵 부분을 매핑한 것으로 GPIOC의 13번 핀에 할당되어 있다. 그래서 485를 통해 프로토콜이나 메시지를 보내고 싶을 경우 ENABLE 시키고 버퍼에 담아놓은 메시지를 보내면 되고 반대로 응답을 수신하고 싶다면 DISABLE 시키면 485 트랜시버는 MCU의 UART RX로 메시지를 수신할 수 있....... (Publish Date: 2020-12-27)

문열림 감지기
문열림 감지기 for IOT 과거 중견기업의 H/W 연구팀 소속으로 있을 당시, 처음 받았던 프로젝트다. 이미 개발진행이 끝난 것이였고, 유지보수를 위한 관리 정도였으나 당시 수석님들께서는 나에게 Mentor를 이용한 회로설계와 BoM 작성 (ERP 연동) 및 PCB발주 그리고 SMT까지 쳐서 실물을 보이도록 지시하셨다. 지금 생각해보면 신입사원을 위한 스터디 차원이 아니였을까 싶다. 한 그림으로 요약하면 아래 순서대로 진행했었다는 뭐,, 그런 흔한 H/W 개발 진행이었다. 도면은 복잡하지 않았고 IOT를 위해 저전력 MCU를 썼던 것이 기억이 난다. 무선 통신은 Z-wave 라고 하는 900Mhz 대역을 이용하는 방식이었는데, 기존에 RS-485에서 포스팅하겠....... (Publish Date: 2020-12-24)

RS485 통신
RS485 30초만 검색해봐도 직렬 비동기 통신 방식중에는 RS232, RS422, RS485 등이 있음을 알 수 있다. 현재 진행중인 작은 프로젝트에는 컨트롤러 모듈에 485 통신회로가 들어가있다. 485의 통신선은 A와 B가 있고 이 둘은 서로 전압 레벨이 상반되어 디퍼런셜 라인이라고 부른다. 485라인의 올바른 전압 측정방법은 반드시 디퍼런셜 프로브로 측정되어야 한다. 그렇지 않고 일반 스코프로 물릴 경우, 수 십 볼트 이상의 전압이 검출될 수 있다. 또, 본인이 사용하는 RS485 트랜시버 IC는 TI사에서 나온 칩이다. 마우저로 검색하면 개 당 3,500\ 꼴인데 재고가 충분하여 즉시 배송 가능한 상태이니 위 칩은 아직 수급이 가능함을 알 수 있다. 회....... (Publish Date: 2020-12-22)

Git Ignore with 소스트리
GIT IGNORE 깃 이그노어는 원격 저장소에 프로젝트를 푸시할 때 특정 확장자는 푸시하지 않고 제외시키는 것을 의미한다. SVN도 기본적으로는 ignore가 내포되어 있는걸로 아는데 git 이라고 다를 소냐! 아무튼, 용량이 차고 넘치는 프로젝트 전체(keil project)를 푸시하자니 부담스러워졌다. 그래서 다시 컴파일하면 새로 생성될 수 있는 파일들은 푸시하지 않기로 했다. IGNORE 하기 위 이미지대로 현재 프로젝트의 설정 -> 편집을 클릭하여 메모장(원하는 에디터로도 가능)으로 열면 처음엔 아무것도 설정하지 않아 빈 공란일 것이다. 이 공란을 위 메모장처럼 채우자 keil mdk 프로젝트를 컴파일하면 산출물들이 쭉 나오면서 나중에 컴파....... (Publish Date: 2020-12-21)

---
추천3

댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
2,697
어제
2,986
최대
3,753
전체
757,666

그누보드5
Copyright © tvcommercialsong.com All rights reserved.