很多时候能够共鸣阿丽莎。她在幼时看见了母亲偷情,看见了欲望的恶,成长时心里的无助彷徨因为没办法舒缓,选择了宗教,最后又因为宗教倡导的无私奉献,让自己具有了神性,无法产生对俗世欲望的追求,想爱又不能爱。 我虽然家庭美满,但并不意味着我未曾受过类似创伤,在高中,我努力表现的像正常人,却常会受到创伤折磨。我恨人与人之间世俗意义的比较,因为我曾经认为我在这方面已经一败涂地。这道宽路于我而言已经被玷污了。于是我只能去追寻窄路。我追寻的窄路与阿丽莎却不相同。高中那会我非常喜欢听轻音乐。可以说,我完全可以接受没有手机没有电脑没有游戏,但我无法接受没有轻音乐的生活。有那么几首流行改编的钢琴曲(我当时不知道还有原曲,我还以为钢琴版本就是原曲呢quq),分别是,《Heal the world》, 《We are the world》和《You are not alone》,我印象非常深刻(哪怕当时我根本不去记歌名,轻音乐是这样的)。每当循环到这几首,我都会不厌其烦地享受心底的宁静。哪怕已经听过100遍,500遍,我依然会感觉我心如赤子,往事都离我远去了。有一天,我用家里电脑上的网易云搜这几首歌,想找找有没有这几首歌的hires(发烧友是这样的)版本。我爸当时看我在搜这个,惊讶地问我,你居然会听这个?我当时感到很奇怪,因为我爸几乎从来不会主动和我交流音乐。我当时感觉到他的目光中存在着一种不可言说的神圣。他之后把他仅有的CD随声听给我了,还有Michael的《Dangerous》CD专辑。我和我爸居然在这个地方,获得了跨越时空的共鸣,这是我目前人生中,对于“不约而同”的最佳注解。 我想找的那三首曲子,无一例外,都改编于MJ的流行乐。我当时真的非常非常感动。从此,我便很少听轻音乐了,我开始听MJ。我听到了他对于爱与欲的挣扎,我听到了他对于权贵的抗争,我听到了他对于世人的大爱。那时候的我决心,要做一个像他一样,大爱世人,为人间带来爱的使者。我努力对身边所有人都温柔。我会和尖子生一起讨论数学题,也会和学业不理想的同学谈心,谈论过去,谈论未来。我对大部分人都充满着好奇,我认为他们真的都很可爱啊,但是他们中的很多人都遭受了好多生活中的,学业上的苦痛,我实在是不忍心让他们在我这里再感受到一丁点恶意了。我认为就这么活在世上,世上便多了一点光,就算得上不枉此生了。这是我自己信仰的雏形,几首歌,一位已经过世的歌手,当然还有我一直藏在心里对善的渴望,塑造了这些。
Modify the required jdk version in file stm32cubemx.sh from exec archlinux-java-run --min 17 -- -jar /opt/stm32cubemx/STM32CubeMX "$@" to exec archlinux-java-run --min 17 --max 20 -- -jar /opt/stm32cubemx/STM32CubeMX "$@"
Then build and install the STM32CubeMX
1
makepkg --noconfirm --skipinteg -si
Since STM32CubeMX is not compatible with jdk22 (which is the default jdk that arch is currently using), you need to install jdk17 through yay -S jdk17-openjdk
Then you can start STM32CubeMX by running stm32cubemx, and hopefully, everything is fine.
Compiler
Use arm-none-eabi-gcc
1 2
yay -S arm-none-eabi-gcc yay -S arm-none-eabi-newlib
Debugger
Use OpenOCD to burn and debug STM32 through STLink v2 (the blue USB device provided by us).
1
yay -S openocd
Setup Your STM32 Project
Open your STM32CubeMX, follow the instruction of Lab1.pdf to configure your project.
NOTE: In Project Manage -> Project -> Project Settings -> Toolchain / IDE, use Makefile/CMake.
Generate the code and go to the project directory (with Makefile/CMakeLists.txt in the directory).
Then you need to generate the compile_commands.json for clangd to recognize the project.
Makefile
1
bear -- make
CMake
1
cmake -S ./ -B ./build
Build Project
Makefile
1
make
Then target binary file is ./build/<Project Name>.bin
CMake
1
cmake --build ./build
Then target binary file is ./build/<Project Name>.elf
Open On-Chip Debugger 0.12.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'. Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD Info : clock speed 1000 kHz Info : STLINK V2J37S7 (API v2) VID:PID 0483:3748 Info : Target voltage: 3.222587 Info : [stm32f1x.cpu] Cortex-M3 r1p1 processor detected Info : [stm32f1x.cpu] target has 6 breakpoints, 4 watchpoints Info : starting gdb server for stm32f1x.cpu on 3333 Info : Listening on port 3333 for gdb connections [stm32f1x.cpu] halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x08000dc8 msp: 0x20005000 ** Programming Started ** Info : device id = 0x20036410 Info : flash size = 64 KiB ** Programming Finished ** ** Resetting Target ** shutdown command invoked
NOTE: In different Distro, the cfg file for OpenOCD may locate in different directories. You need to find it by yourselves.
By the way, if you use CMake
Note: When uploading binary file to STM32, it’s recommended to use .bin file instead of .elf file. Please use the following script to convert the .elf to .bin and upload.
To use segger ozone, you need a different linker called jlink (originally we use st-link v2). You need to buy this linker first (maybe on Taobao or Amazon).
Program File: select the binary file you have built (.elf is recommended).
Debug:
set some breakpoints and watch some variables of your interest. Press the green “power” icon on the upper left corner to start (upload the program and start the debugging process) Press the blue “play” icon besides “power” to continue.