SHT30 온습도 모니터링 시스템 전체 소스(서버 PHP, STM32 펌웨어, SQL, 테스트). 전체 코드리뷰에서 도출된 보안 하드닝 10건 반영: - 요청 서명 HMAC-SHA256 전환(펌웨어 sig.c/서버 config.php/호스트 패리티 동시) - 재전송 방어 + 기본 API_KEY fail-closed + 디바이스 문자열 정제(api/sensor_data.php) - 오프라인 SMS 중복 발송 경합 제거(cron_heartbeat.php, 원자적 선점) - CSV 수식 주입 방지(monthly_report.php), 감사로그 회전 락(retention_cleanup.php) - 브루트포스 카운터 원자화(login.php), 예시 TOTP 비밀키 무효화, 마이그레이션 멱등화 _backup/(하드코딩 실 비밀값 포함)·config.local.php·런타임 상태는 .gitignore 제외.
23 lines
855 B
C
23 lines
855 B
C
/* =============================================================================
|
|
* bsp.h - 보드 지원 패키지 (클럭/HAL/공통 주변장치 초기화)
|
|
*
|
|
* 구현(bsp.c): HAL_Init(), SystemClock_Config()(HSE 8MHz -> 168MHz, PLL),
|
|
* 공통 GPIO/RCC 클럭 게이팅, 상태 LED. FreeRTOS 사용 시 HAL 타임베이스는
|
|
* SysTick 이 아닌 별도 TIM 으로 둔다(권장).
|
|
* ===========================================================================*/
|
|
#ifndef BSP_H
|
|
#define BSP_H
|
|
|
|
#include <stdint.h>
|
|
|
|
/* 클럭/HAL/공통 주변장치 초기화 (main 진입 직후 1회). */
|
|
void bsp_init(void);
|
|
|
|
/* 상태 LED 제어 (운영 가시성). */
|
|
void bsp_led_set(int on);
|
|
void bsp_led_toggle(void);
|
|
|
|
/* 치명적 오류: LED 점멸 + (디버그) 정지. 워치독이 리셋시킨다. */
|
|
void bsp_fatal(const char *reason);
|
|
|
|
#endif /* BSP_H */
|