忽然發現 2023 即將過去,今年都沒來更新 blog,趕緊來更新一下。
過去一年最大的改變莫過於 chatGPT 進入生活吧。短短幾個月,多做了很多以前不知道怎麼做或是沒想到可以做的事情。當然主要還是專業的寫程式碼之類。
然後有個人類訓練 AI,但是人類同時也被 AI 訓練著的感想。
今年最讓我覺得特別的大概是 CRC32 計算 for MCU。在運算量和 code size 達到均衡。
貼出來分享一下。
uint32_t halcrc32_update(uint32_t crc, uint8_t data) {
crc ^= data;
for (int i = 0; i < 8; i++) {
if (crc & 1) {
crc = (crc >> 1) ^ 0xEDB88320;
} else {
crc >>= 1;
}
}
return crc;
}
uint32_t halcrc32_calculate(const uint8_t *data, uint32_t length) {
uint32_t crc = 0xFFFFFFFF;
for (uint32_t i = 0; i < length; i++) {
crc ^= data[i];
for (uint32_t n = 0; n < 8; n++) {
if (crc & 1) {
crc = (crc >> 1) ^ 0xEDB88320;
} else {
crc >>= 1;
}
}
}
return crc ^ 0xFFFFFFFF;
}
寫得不多,塞點圖充版面一下。照片是 Pixel 8 Pro 拍攝的。