프로그램 사용/lvgl2026. 2. 3. 23:50

 

요건 도움말을 보던가 문서를 봐야 알 듯.

아무튼 이미지를 추가하고 어떻게 하는것 같은데 감이 올 듯 안 올 듯.. 한다

 

 

[링크 : https://docs.squareline.io/docs/dev_env/animation/]

'프로그램 사용 > lvgl' 카테고리의 다른 글

squareline studio / 화면전환  (0) 2026.02.03
nxp gui guider for lvgl  (0) 2026.02.03
lvgl perf mon  (0) 2026.02.03
ebike demo ui 구조 분석 - 속도 슬라이더 및 텍스트  (0) 2026.02.02
figma lvgl plugin  (0) 2026.02.02
Posted by 구차니
프로그램 사용/lvgl2026. 2. 3. 23:24

보이는 하나의 디자인을 screen 으로 부르고

스크린간 전환은 

trigger - clicked

action - change screen 으로 하여 구현이 된다.

그래서 메인화면에서 톱니바퀴를 누르면 설정으로 fade on 하여 가게 되는데

 

새로운 이벤트 목록은 아래와 같다.

일단 위의 경우 사용된건 change screen 인데

그 외에는 set opacity나 play animation 정도가 눈에 띈다.

 

fade on 대신 move left / move right 하고

duration 100 msec에서 1000 msec 으로 해주면 좀 슬라이드 되는 느낌이 들게 움직인다.

아래는 move left 전환효과를 순간 캡쳐 한 것.

 

 

---

스크린 변경이 아니라 일부 그룹에 대한 show / hide로 구현된 경우도 있는데

우측 하단의 3개를 누르면 속도는 뜨면서 내용이 변한다.

 

 

아무튼 설정을 보면

action - play 에서 group driving을 딜레이 없이 animation on 을 한다는데,

initial action 에 on으로 정의 된 건 없어서 모르겠다. on/off 의 on 같기도 한데?

 

그리고 BTN BG1 ADD / BTN BG2/3 REMOVE로

선택되었다는 밝은 주황색 배경을 on/off 해준다.

 

 

 

 

 

'프로그램 사용 > lvgl' 카테고리의 다른 글

squareline studio / 애니메이션  (0) 2026.02.03
nxp gui guider for lvgl  (0) 2026.02.03
lvgl perf mon  (0) 2026.02.03
ebike demo ui 구조 분석 - 속도 슬라이더 및 텍스트  (0) 2026.02.02
figma lvgl plugin  (0) 2026.02.02
Posted by 구차니
embeded/Cortex-M7 STM2026. 2. 3. 18:19

페이지라고 해야하나.. 아무튼 섹터별로 용량이 균등하지 않은 녀석도 있다.

 

그리고 듀얼 뱅크와 싱글 뱅크의 경우 일종의 raid 0 처럼 분할해서 striping 되어 저장된다.

[링크 : https://www.st.com/resource/en/application_note/an4826-stm32f7-series-flash-memory-dual-bank-mode-stmicroelectronics.pdf]

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

stm32f746g-disco with semtech sx1276 and lvgl  (0) 2026.02.03
modbus rtu coil read  (0) 2024.10.10
stm32 __weak  (0) 2024.10.08
stm32 modbus  (0) 2024.09.26
SPI NSS, NSSP mode  (0) 2024.09.11
Posted by 구차니
embeded/Cortex-M4 STM2026. 2. 3. 17:58

플래시가 연속된 주소가 아니게 보인다.

63번 0x0801 F800

64번 0x0804 0000 신기하네..

 

Option Byte 에는 BFB2 / DBANK 등이 처음보는 녀석이고..

 

내용은 좀 더 봐야 할 듯.

ART/MIF 를 통해서 NVM Bank 1 / 2에 접근하는거라면.. ART를 그럼 사실상 강제하게 되는건가?

 

서로 다른 채널에 read / write 를 동시에 할 수 있다가 dual bank 의 장점인가?

The dual bank memory can be configured and used as a single large NVM block with continuous addressing (with few exceptions, not covered in this document). There are significant advantages when the NVM is configured to serve as two parallel blocks, the most important is the possibility to write on one bank without interrupting reading (and fetching instructions) from the other bank. This is the most important prerequisite to perform the updates without breaking the execution of the code from the program NVM.

[링크 : https://www.st.com/resource/en/application_note/an4767-onthefly-firmware-update-for-dual-bank-stm32-microcontrollers-stmicroelectronics.pdf]

 

Option byte의 DBANK 설정에 따라서

뱅크를 1개 쓰냐 2개 쓰냐인데

0으로 하면 싱글 뱅크, 4 Kbyte Page * 128 이 되고

1으로 하면 듀얼 뱅크, 2 Kbyte Page * 128 * 2가 되는건가?

 

ART를 켜면 올라가는걸 보면 일단 높은 수치가 성능이 좋은거 같은데,

ART OFF 에서 Single Bank가 성능이 더 좋은다고 보면되나?

[링크 : https://www.st.com/resource/en/product_training/STM32G4-Memory-Flash_FLASH.pdf]

 

+

2026.02.04

심심해서(?) DBANK 풀고

 

내부 플래시 구조를 보니

개별 페이지(?)당 용량은 2배로 늘고

총 페이지는 절반으로 줄어들었다.

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

STM32F429I-DISC1 with lvgl  (0) 2026.02.03
32F469IDISCOVERY with lvgl  (0) 2026.02.02
UM2195 audio streaming Expansion Package for STM32Cube  (0) 2026.01.05
stm32g4 cordic fmac  (0) 2025.11.28
STM32CubeProgrammer / uart / parity  (0) 2025.11.28
Posted by 구차니
프로그램 사용/lvgl2026. 2. 3. 15:02

lvgl 다국어 지원 검색하다가 걸려 나온 nxp 툴.

[링크 : https://www.nxp.com/design/design-center/software/development-software/gui-guider:GUI-GUIDER]

 

먼가.. 묘하게 squareline studio 느낌이 난다?

[링크 : https://www.nxp.com/docs/en/user-guide/GUI_Guider_User_Manual.pdf]

'프로그램 사용 > lvgl' 카테고리의 다른 글

squareline studio / 애니메이션  (0) 2026.02.03
squareline studio / 화면전환  (0) 2026.02.03
lvgl perf mon  (0) 2026.02.03
ebike demo ui 구조 분석 - 속도 슬라이더 및 텍스트  (0) 2026.02.02
figma lvgl plugin  (0) 2026.02.02
Posted by 구차니
프로그램 사용/lvgl2026. 2. 3. 14:24

매번 뜨길래 어떻게 끄나 찾아봄

 

In your lv_conf.h set this:

#define LV_USE_PERF_MONITOR 0

[링크 : https://forum.lvgl.io/t/remove-fps-and-cpu-display/11042]

 

lv_conf.h를 찾아보니 아래와 같이 선언되어있다.

/*------------------
 * STATUS MONITORING
 *------------------*/

/*1: Show CPU usage and FPS count
 * Requires `LV_USE_SYSMON = 1`*/
#define LV_USE_PERF_MONITOR 1
#if LV_USE_PERF_MONITOR
    #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT

    /*0: Displays performance data on the screen, 1: Prints performance data using log.*/
    #define LV_USE_PERF_MONITOR_LOG_MODE 0
#endif

/*1: Show the used memory and the memory fragmentation
 * Requires `LV_USE_BUILTIN_MALLOC = 1`
 * Requires `LV_USE_SYSMON = 1`*/
#define LV_USE_MEM_MONITOR 1
#if LV_USE_MEM_MONITOR
    #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
#endif

'프로그램 사용 > lvgl' 카테고리의 다른 글

squareline studio / 화면전환  (0) 2026.02.03
nxp gui guider for lvgl  (0) 2026.02.03
ebike demo ui 구조 분석 - 속도 슬라이더 및 텍스트  (0) 2026.02.02
figma lvgl plugin  (0) 2026.02.02
eez studio  (0) 2026.02.02
Posted by 구차니
embeded/Cortex-M7 STM2026. 2. 3. 12:31

액정은 큰 거 치고는 해상도가 낮다.

그래도 PSP 해상도라고(!) 130,560 pixel 이고 320x240의 76,800 pixel 에 비하면 거의 2배에 가까운 나름(!) 고해상도다.

  • STM32F746NGH6 Arm® Cortex® core-based microcontroller with 1 Mbyte of Flash memory and 340 Kbytes of RAM, in BGA216 package
  • 4.3” RGB 480×272 color LCD-TFT with capacitive touch screen
  • Ethernet compliant with IEEE-802.3-2002
  • USB OTG HS
  • USB OTG FS
  • SAI audio codec
  • Two ST-MEMS digital microphones
  • 128-Mbit Quad-SPI Flash memory
  • 128-Mbit SDRAM (64 Mbits accessible)

[링크 : https://www.st.com/en/evaluation-tools/32f746gdiscovery.html]

 

이건 또 어떻게 살리냐..

[링크 : https://www.semtech.com/products/wireless-rf/lora-connect/sx1276mb1las]

 

일단 이거부터 빌드해서 넣어보자!

[링크 : https://github.com/lvgl/lv_port_stm32f746_disco]

 

응~ 에러

라는데 웃긴건 elf 파일이 생성되어 있다.

arm-none-eabi-gcc -o "lv_port_stm32f746_disco.elf" @"objects.list"   -mcpu=cortex-m7 -T"/home/falinux/work/src/lv_port_stm32f746_disco/LinkerScript.ld" --specs=nosys.specs -Wl,-Map="lv_port_stm32f746_disco.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
/opt/st/stm32cubeide_1.16.0/plugins/cohttp://m.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld: warning: /opt/st/stm32cubeide_1.16.0/plugins/cohttp://m.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtn.o: missing .note.GNU-stack section implies executable stack
/opt/st/stm32cubeide_1.16.0/plugins/cohttp://m.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
/opt/st/stm32cubeide_1.16.0/plugins/cohttp://m.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld: warning: lv_port_stm32f746_disco.elf has a LOAD segment with RWX permissions
Finished building target: lv_port_stm32f746_disco.elf
 
arm-none-eabi-size  lv_port_stm32f746_disco.elf 
   text    data     bss     dec     hex filename
 617604    1064  204368  823036   c8efc lv_port_stm32f746_disco.elf
Finished building: default.size.stdout
arm-none-eabi-objdump -h -S lv_port_stm32f746_disco.elf  > "lv_port_stm32f746_disco.list"
 
arm-none-eabi-objcopy  -O binary lv_port_stm32f746_disco.elf  "lv_port_stm32f746_disco.bin"
Finished building: lv_port_stm32f746_disco.bin
 
Finished building: lv_port_stm32f746_disco.list
 

12:38:35 Build Failed. 1 errors, 2 warnings. (took 53s.960ms)

 

cortex-m7 이라 기대했는데 해상도 때문인가 느리다?!

 

 

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

stm32f7 dual bank flash  (0) 2026.02.03
modbus rtu coil read  (0) 2024.10.10
stm32 __weak  (0) 2024.10.08
stm32 modbus  (0) 2024.09.26
SPI NSS, NSSP mode  (0) 2024.09.11
Posted by 구차니
embeded/Cortex-M4 STM2026. 2. 3. 11:30

그냥 받아서 하니 잘된다.

 

git clone https://github.com/littlevgl/stm32f429_disco_no_os_sw4stm32.git --recurse-submodules

[링크 : https://github.com/lvgl/lv_port_stm32f429_disco]

 

회사에 굴러 다니던게 있었을 줄이야 -_-

[링크 : https://www.st.com/en/evaluation-tools/32f429idiscovery.html]

 

  • Core: Arm® 32-bit Cortex®-M4 CPU with FPU, Adaptive real-time accelerator (ART Accelerator™) allowing 0-wait state execution from flash memory, frequency up to 180 MHz, MPU, 225 DMIPS/1.25 DMIPS/MHz (Dhrystone 2.1), and DSP instructions
  • Memories
    • 512 bytes of OTP memory
    • Up to 2 MB of flash memory organized into two banks allowing read-while-write
    • Up to 256+4 KB of SRAM including 64 KB of CCM (core coupled memory) data RAM
    • Flexible external memory controller with up to 32-bit data bus: SRAM, PSRAM, SDRAM/LPSDR SDRAM, compact flash/NOR/NAND memories
  • LCD parallel interface, 8080/6800 modes
  • LCD-TFT controller with fully programmable resolution (total width up to 4096 pixels, total height up to 2048 lines and pixel clock up to 83 MHz)
  • Chrom-ART Accelerator™ for enhanced graphic content creation (DMA2D)

[링크 : https://www.st.com/en/microcontrollers-microprocessors/stm32f429zi.html]

 

그나저나 main 함수 엄청 단촐하다.

int main(void)
{

HAL_Init();

/* Configure the system clock to 180 MHz */
SystemClock_Config();

/*Start up indication*/
BSP_LED_Init(LED3);
uint32_t i;
for (i = 0; i < 8; i++) {
BSP_LED_Toggle(LED3);
HAL_Delay(50);
}

lv_init();

tft_init();
touchpad_init();

// lv_example_scroll_3();
// lv_example_chart_7();

lv_demo_widgets();

while (1)
{
HAL_Delay(3);
lv_task_handler();
}
}

 

 

빌드하니 생각외로 용량은 적게 나온다. 이미지는 어떻게 처리한거지?

 

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

STM32G47x dual bank flash  (0) 2026.02.03
32F469IDISCOVERY with lvgl  (0) 2026.02.02
UM2195 audio streaming Expansion Package for STM32Cube  (0) 2026.01.05
stm32g4 cordic fmac  (0) 2025.11.28
STM32CubeProgrammer / uart / parity  (0) 2025.11.28
Posted by 구차니

클론 시에 아래것들 까지 다 받으려면 아래와 같이 recurse-submodules를 주면되는데

$ git clone --recurse-submodules https://github.com/chaconinc/MainProject

[링크 : https://git-scm.com/book/ko/v2/Git-도구-서브모듈]

 

받고나서 서브모듈들을 받으려면 아래처럼 먼가 좀더 복잡해 진다.

git submodule update --init --recursive

[링크 : https://stackoverflow.com/questions/10168449/git-update-submodules-recursively]

[링크 : https://stackoverflow.com/questions/10168449/git-update-submodules-recursively]

'프로그램 사용 > Version Control' 카테고리의 다른 글

git revert  (0) 2025.12.11
.gitconfig insteadof  (0) 2025.12.09
git master -> main branch  (0) 2025.05.22
git local branch, merge master  (0) 2025.01.16
git switch  (0) 2025.01.16
Posted by 구차니
프로그램 사용/lvgl2026. 2. 2. 22:37

BG1 빼고 다 끔

 

slider speed. 가장 궁금했던 녀석인데..

 

Name에는 공백은 언더바로 치환되어 변수로 설정된다.

width / height 값은 이미지의 원래 크기인데 X와Y는 왜 마이너스 값일까?

 

scroll의 scroll direction은 all / vertical / horizontal 이 있으나 방향에 영향을 미치지 못한다.

value 는 min ~ max 사이 값으로 현재 값이다. max를 넘는 값이 들어갈수도 있으나 max로 표현된다.

 

 

스타일 셋팅 이게 표현의 핵심인듯.

 

슬라이더를 보면 main / indicator / knob로 나뉘는데

main의 배경 투명도를 켜고 꺼보면 먼가 차이가 난다.

 

이미지 자체는 투명인데 배경을 설정하지 않으면 흰색이 그냥 표시되는건가?

 

indicator는 슬라이더 바의 표시될 영역이라고 하면 되려나

32라면 왼쪽으로 부터 32 만큼 찬 것을 표시해주고 혹은 하단에서 부터 1/3이 차는걸 표현해주는 녀석이다.

 

main과는 다르게 indicator의 경우 표시되는 영역인 1/3 하단 영역에 대한 투명도가 사라진다.

 

knob는 손잡이 인데, 슬라이더의 중앙이라고 해야하나? 말 그대로 손잡이를 그려주는데

이 디자인에서는 노브가 없는 디자인이기에 투명하게 설정해서 손잡이를 지운다.

 

 

심심해서 slider 추가하고 가로 세로 비율을 다르게 했더니 비율에 따라 슬라이더 방향이 바뀐다. 이게 머야 -_-

 

35에서 50 으로 하니 옆으로 찬다.

 

이벤트는 연계되는 상황에 대해서 어떻게 할지인데

trigger 가 value_changed 이고

어떻게 보면 슬라이더 값이 바뀔때 event2로 speed_number_2와

 

speed_number_1의 값을 바꾸도록 한다.

 

이벤트는 제법 여러가지가 있는데

key_right 부터 short / long click 등 엄청 여러가지 이벤트가 존재한다.

 

위에서 이벤트로 걸린건 아래의 숫자 속도인데

글씨를 두번 써서 그림자 효과라.. 그럼 포트에서 자체적으로 그림자를 지원안하는건가?

 

'프로그램 사용 > lvgl' 카테고리의 다른 글

nxp gui guider for lvgl  (0) 2026.02.03
lvgl perf mon  (0) 2026.02.03
figma lvgl plugin  (0) 2026.02.02
eez studio  (0) 2026.02.02
esp32 lvgl benchmark  (0) 2026.02.02
Posted by 구차니