inflearn logo
강의

講義

知識共有

【組み込み入門用】組み込み開発は実際にはこのように行います。

暖房室作り。(温度によるドライヤー制御)3

ST Link 유무에 따른 main 프로그램 시작 유무

31

Yubin Kim

投稿した質問数 4

0

안녕하세요

현재 GPIO를 통한 릴레이 제어까지 완강하였습니다

수업에서 하는것과 같이 ST Link를 연결한채로 실행시 정상적으로 릴레이 제어 + fnd 제어가 되는걸 볼수잇지만

 

st link를 제거하고 USB를 통한 제어를 시작할시, main.c의 프로그램이 안 도는거같습니다

혹시나 해서 5V, 3.3V 전압을 측정했을때 정상적으로 전압은 읽힙니다.

아래는 사용한 main 함수입니다

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  MX_TIM2_Init();
  MX_SPI2_Init();
  /* USER CODE BEGIN 2 */
  HAL_TIM_Base_Start_IT(&htim2);
  init_fnd(&hspi2);
  Ds18b20_Init();
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  	Ds18b20_ManualConvert();
  	digit4_temper((int)ds18b20[0].Temperature, 500);
//  	for (int i = 0; i<=100; i++)
//  	{
//  		digit4_temper(i, 50);
//  	}
  	HAL_Delay(1000);
  	HAL_GPIO_WritePin(PB5_RELAY_ON_OFF_CTRL_GPIO_Port, PB5_RELAY_ON_OFF_CTRL_Pin, 0);
  	HAL_GPIO_WritePin(GPIO_LED_GPIO_Port, GPIO_LED_Pin, 0);
  	HAL_Delay(1000);
  	HAL_GPIO_WritePin(PB5_RELAY_ON_OFF_CTRL_GPIO_Port, PB5_RELAY_ON_OFF_CTRL_Pin, 1);
  	HAL_GPIO_WritePin(GPIO_LED_GPIO_Port, GPIO_LED_Pin, 1);



    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

st link를 제거한 상태로도 펌웨어가 돌아가려면 다른 방식으로 펌웨어를 입혀야하나요?

 
AI를 통해 프로젝트를 점검했을때 Boot 0 핀이 GND에 연결되어잇는지 물어봐서 해당 부분도 GND에 정상적으로 연결된것 확인햇습니다

Raspberry-Pi arduino 임베디드

回答 2

0

ojtube5

안녕하세요.

보통은 Debug 모드로 펌웨어를 올려도 ST-Link를 제거한 상태에서 정상적으로 동작합니다.

다만 디버깅 과정에서 설정이나 코드에 따라 ST-Link가 연결되어 있을 때와 제거했을 때 동작이 달라지는 경우가 있습니다.

보통 개발이 완료되면 최종적으로 Release 모드로 컴파일해서 펌웨어를 올리기 때문에, 우선 아래와 같이 한번 진행해보세요.

  1. STM32CubeIDE 상단의 Debug 설정을 Release로 변경합니다.

  2. 다시 Build 합니다.

  3. ST-Link를 연결한 상태에서 펌웨어를 다운로드합니다.

  4. 다운로드가 끝나면 전원을 끕니다.

  5. ST-Link를 완전히 제거합니다.

  6. USB 전원만 연결해서 다시 켜봅니다.

BOOT0 핀을 GND에 연결하신 것은 맞습니다.

위와 같이 했는데도 동작하지 않는다면 Release/Debug 문제는 아닐 가능성이 높습니다.

그 경우에는 원인을 하나씩 확인해봐야 하니, Release로 다시 올린 후 ST-Link를 제거했을 때 LED와 FND가 어떻게 동작하는지 알려주세요. 그 결과를 보고 다음 확인할 부분을 안내드리겠습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. Yubin Kim님!

ST-Link가 없는 상태에서 메인 프로그램이 실행되지 않는 문제에 대해 고민하고 계시는 것 같습니다. 이는 전형적으로 펌웨어가 플래시 메모리에 제대로 업로드되지 않았거나, 기본적인 전원 문제 또는 다른 설정 오류일 수 있습니다. 다음은 확인해 보실 수 있는 몇 가지 사항입니다:

  1. 펌웨어 업로드 확인:

    • ST-Link를 통해 프로그램을 업로드 한 뒤, 실제로 펌웨어가 MCU에 반영되었는지 확인이 필요합니다. 일부 경우에서는 프로그래머가 장비의 플래시에 제대로 펌웨어를 쓰지 못해 문제가 생기는 경우가 있습니다.
  2. 보드 설정 점검:

    • Boot 모드 설정을 제대로 했는지 재확인해보세요. Boot 0 핀이 GND에 연결되어 있다면, 일반적인 플래시 모드에서 부팅이 되어야 합니다.
  3. 전원 공급 확인:

    • 전력을 제공하는 USB 연결이 충분한 전력을 제공하는지, 특히 다른 외부 장치들이 있으면 확인해야 합니다.
  4. 시리얼 통신 확인:

    • USART를 통해 UART 디버깅을 설정해 두셨다면, 다른 프로그램에서 보드의 디버깅 메시지를 확인하여 프로그램이 어느 정도까지 실행되고 있는지 확인해 볼 수 있습니다.
  5. 퍼포먼스 문제:

    • 프로그램이 특정 부분에서 멈추는 것일 수 있으니, 다른 타임 아웃 설정이나 딜레이 코드를 점검하여 그 부분에서 오동작이 발생하지 않는지 확인해보세요.

관련된 질문/답변이 인프런에 있을 경우 직접적으로 적용해 보실 수 있는 리소스가 될 수 있을 것 같습니다. 예를 들면:
- MCU 부팅 설정 및 펌웨어 업로드에 대한 가이드
- USB를 통한 전력 문제 해결 사례

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

디버깅이 잘연결되다가 연결이 끊어졌어요

0

44

2

디버깅 오류

0

57

2

111번째 강의까지 진행했는데, 온도 정보 받아오는 게 안돼요.

0

65

2

GPIO 간단 제어해보기 강의

0

105

2

브레이크포인트

0

64

1

STM IDE 설치 과정 중 에러 문의

0

69

1

STM IDE 설치 강의 중 문의

0

98

2

102. 난방실만들기4에서 디버깅 질문드립니다

0

63

1

13강 프로젝트생성해보기 관련 질문

0

125

3

난방실만들기.4 진행 중, m_state 값 초기화가 안됩니다..

0

91

2

IDE 설치 영상 관련 문의

0

97

2

[정보 공유] STM32CubeIDE 버전별 이슈 정리 (1.19 미만 / 2.0.0 이상)

0

394

2

스위치회로 value값 바뀌지 않음

0

92

2

FND 점등에 성공했는데, Controller.c 디버깅 중 문제가 생겼습니다.

0

116

2

FND 7세그먼트 처음 킬 때의 '7777'불이 안 들어옵니다.

0

130

2

포트에 안잡히면 x쉘에서 Port설정을 어떻게 하죠..?

0

119

2

빌드 및 디버깅 오류

0

248

2

보드에 불이 안들어옵니다.

0

116

2

씽크 오류

0

84

1

고추건조기 개발보드 전원연결 문제점..

0

140

2

회로도 핀 연결 질문

0

96

2

elf 파일을 찾을수 없다는 오류

0

137

2

Nucleo 보드로 대체

0

104

2

구매해야 하는 물품 문의

0

119

2