<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AndyTsui的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/AndyTsui</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AndyTsui]]></copyright><item><title><![CDATA[Gradle出现Re-download dependencies and sync project (requires network)]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/140953264</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/140953264</guid><author>AndyTsui</author><pubDate>Tue, 06 Aug 2024 13:22:33 +0800</pubDate><description><![CDATA[distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip改为。然后把目录下已生成的文件夹删掉，此例为下图的gradle-7.5-bin删除，然后sync就可以。]]></description><category></category></item><item><title><![CDATA[Android Studio生成第三方库及调用方法]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/114521915</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/114521915</guid><author>AndyTsui</author><pubDate>Mon, 08 Mar 2021 10:00:07 +0800</pubDate><description><![CDATA[1 编写so库代码及对应Android.mk和Appliction.mk文件

















2 编译so

配置ndk-build，将ndk-build路径

（例如C:\Users\Administrator\AppData\Local\Android\Sdk\ndk\22.0.7026061）设置到系统环境变量。

执行SET NDK_PROJECT_PATH=./设置工程目录

执行ndk-build NDK_APPLICATION_MK=./Application.mk...]]></description><category></category></item><item><title><![CDATA[rockchip — display-timing dts配置]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/113766588</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/113766588</guid><author>AndyTsui</author><pubDate>Tue, 09 Feb 2021 09:57:02 +0800</pubDate><description><![CDATA[时序图

VSYNC、HSYNC、VDEN、VD和VCLK 是外部引脚信号

VSYNC： 场同步（又称帧同步或垂直同步），每一脉冲，表示新的图画开始传送；

HSYNC： 行同步，每一脉冲，表示新的一行数据开始传送；

VDEN（DE或LCD Data Enable）: 数据使能；

VD： LCD Data输出端口，LCD引脚；

其他寄存器：

VSPW（tvp）: 表示垂直同步脉冲的宽度，用行计算，对应驱动程序中的vsync_len

HSP...]]></description><category></category></item><item><title><![CDATA[Yocto项目笔记]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/112258350</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/112258350</guid><author>AndyTsui</author><pubDate>Wed, 06 Jan 2021 09:50:13 +0800</pubDate><description><![CDATA[Yocto项目工具链安装
~/works/Yocto/release/ALS$ tools/x86_64-buildtools-nativesdk-standalone-2.4.3.sh 
需要输入工具链安装目录，例如buildtools
Build tools installer version 2.4.3
===================================
Enter target directory for SDK (default: /opt/poky/2.4.3): ~/wo.]]></description><category></category></item><item><title><![CDATA[基于ART-Pi的SHT31温湿度读取]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/111033938</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/111033938</guid><author>AndyTsui</author><pubDate>Fri, 11 Dec 2020 13:56:58 +0800</pubDate><description><![CDATA[SHT31.C:

#include "SHT31.h"
#include "stm32h7xx_hal.h"

static rt_err_t write_reg(struct rt_i2c_bus_device *bus, rt_uint8_t len, rt_uint8_t *data)
{
  struct rt_i2c_msg msgs;


  msgs.addr = SHT31_ADDR;
  msgs.flags = RT_I2C_WR;
  msgs.buf = data;...]]></description><category></category></item><item><title><![CDATA[MBED OS 6 无法打印浮点]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/108358170</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/108358170</guid><author>AndyTsui</author><pubDate>Wed, 02 Sep 2020 11:16:08 +0800</pubDate><description><![CDATA[修改方式： 在项目根目录创建mbed_app.json

{
  "target_overrides": {
    "*": {
      "target.printf_lib": "std"
    }
  }
}

将target.printf_lib的值覆盖为std（即不使用minimal-printf，使用标准库）

或者

{
  "target_overrides": {
    "*": {
      "target.prin...]]></description><category></category></item><item><title><![CDATA[rk3328 uboot lcd初始化]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/108127677</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/108127677</guid><author>AndyTsui</author><pubDate>Thu, 20 Aug 2020 17:03:28 +0800</pubDate><description><![CDATA[init_sequence_r@board_r.c

 --&gt;stdio_add_devices@stdio.c
 
  --&gt;drv_lcd_init@lcd.c
  
    --&gt;lcd_init@lcd.c
     --&gt;lcd_ctrl_init@rockchip_fb.c
      --&gt;rk_fb_parse_dt@rockchip_...]]></description><category></category></item><item><title><![CDATA[mtk6737m的lk中lcm流程]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/107617992</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/107617992</guid><author>AndyTsui</author><pubDate>Mon, 27 Jul 2020 18:19:37 +0800</pubDate><description><![CDATA[kmain() @ lk/kernel/main.c 
创建系统初始化工作线程,执行初始化
thread_resume(thread_create("bootstrap2", &amp;bootstrap2, NULL, DEFAULT_PRIORITY, DEFAULT_STACK_SIZE));

bootstrap2() @ lk/kernel/main.c
平台相关初始化，包括nand/emmc，LCM显示驱动，启动模式选择，加载logo资源
platform_init();

platfo...]]></description><category></category></item><item><title><![CDATA[mbed开发指南]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/107258536</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/107258536</guid><author>AndyTsui</author><pubDate>Fri, 10 Jul 2020 17:56:42 +0800</pubDate><description><![CDATA[1 新建工程文件夹，作为工作目录
2 进入工程文件夹，运行
mbed new .
3 设定目标板
mbed target NUCLEO_WB55RG
4 设定编译器
mbed toolchain GCC_ARM
5 创建程序main.cpp
6 编译并下载
mbed compile --flash

案例1：
#include &lt;mbed.h&gt;

Serial pc(SERIAL_TX, SERIAL_RX);

DigitalOut myled(LED1);

int main() {
...]]></description><category></category></item><item><title><![CDATA[玩转Orange Pi 4G-IoT（三） Android 8.1白屏问题]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/106696271</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/106696271</guid><author>AndyTsui</author><pubDate>Thu, 11 Jun 2020 20:37:44 +0800</pubDate><description><![CDATA[编译Orange Pi 4G-IoT Android 8.1后，刷机发现白屏，估计是屏幕驱动问题，对比Android 6.0，发现确实如此，缺少jd9522_hd720_dsi_vdo_qc的驱动。

具体如下，实际上只需要jd9522相关文件

：E:\OrangePi8.1\code\kernel-3.18\drivers\misc\mediatek\lcm下

jd9522_hd720_dsi_vdo_qc文件夹

ili9881c_hd720_dsi_vdo_cpt文件夹

mt65xx_lcm..]]></description><category></category></item><item><title><![CDATA[玩转Orange Pi 4G-IoT（二）]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/105784504</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/105784504</guid><author>AndyTsui</author><pubDate>Mon, 27 Apr 2020 10:11:48 +0800</pubDate><description><![CDATA[编译Orange Pi 4G-IoT Android 8.1，出现：

FAILED：set-jack-server抱错

首先#cd ~进入$HOME目录

修改该目录一下隐藏文件.jack-settings和.jack-server/config.properties

分别修改如下位置，可以修改大一点，确保不冲突。







然后进入code/prebuilts/sdk/tools目...]]></description><category></category></item><item><title><![CDATA[玩转Orange Pi 4G-IoT（一）搭建开发环境，避坑篇]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/105729387</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/105729387</guid><author>AndyTsui</author><pubDate>Fri, 24 Apr 2020 13:50:58 +0800</pubDate><description><![CDATA[参考：《Orange Pi用户手册》

一 硬件装配

分别用附带的两根33pin的FPC连接主板和屏。





二Android编译环境搭建

编译主机用的是Ubuntu 12.04， 从网盘下载源代码，如图



放到Ubuntu机器的同一目录下，运行

#cat OrangePi_4G_IoT-Android6.0_V1.0.tar.gz.* &gt; OrangePi_4G...]]></description><category></category></item><item><title><![CDATA[IAR创建STM32WB工程、静态库及调用]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/105196853</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/105196853</guid><author>AndyTsui</author><pubDate>Mon, 30 Mar 2020 12:54:09 +0800</pubDate><description><![CDATA[IAR集嵌入式系统的设计、开发一体，是一款当下热门开发工具。

本文以创建STM32WB芯片工程为例，初步讲解新建工程、创建库及被调用。



一 新建工程

（1）打开IDE





（2）添加工作空间，File-&gt;New Workspace，创建新工程，Project-&gt;Create New Project





（3）Tool chain选择ARM，Project t...]]></description><category></category></item><item><title><![CDATA[python调用c语言报OSError: [WinError 193] %1 不是有效的 Win32 应用程序]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/104261598</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/104261598</guid><author>AndyTsui</author><pubDate>Tue, 11 Feb 2020 13:08:46 +0800</pubDate><description><![CDATA[(1)c语言代码hello.c:

#include&lt;stdio.h&gt;
int test()
{
 printf("hello world");
}

编译方法： gcc hello.c -fPIC -shared -o libhello.so

生成libhello.so

(2)python代码hello.py:

import ctypes
lib = ctypes.cd...]]></description><category></category></item><item><title><![CDATA[一维卷积神经网络在近红外光谱分析中的应用]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/104019812</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/104019812</guid><author>AndyTsui</author><pubDate>Fri, 17 Jan 2020 15:26:11 +0800</pubDate><description><![CDATA[尝试1维卷积网络运用于光谱近红外分析，可能是样本数太少，目前测试结果不是很理想。样本数据：https://pan.baidu.com/s/1IuMSPOVmSD26IFgf2pCDqg第一列是要拟合的水分含量， 后50列为光谱数据。

import pathlib
import sys
import matplotlib.pyplot as plt
import pandas as pd
imp...]]></description><category></category></item><item><title><![CDATA[RV32M1中断处理流程]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/94544530</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/94544530</guid><author>AndyTsui</author><pubDate>Wed, 03 Jul 2019 09:04:55 +0800</pubDate><description><![CDATA[（1） IRQ_Handler @ startup_RV32M1_ri5cy.s

jal x0, SystemIrqHandler

（2）SystemIrqHandler（） @systmem_RV32M1_ri5cy.c

isrTable[intnum]();

isrTable 定义如下：

__attribute__((section("user_vectors"))) cons...]]></description><category></category></item><item><title><![CDATA[PORT_SetPinMux(PORTC, PIN7_IDX, kPORT_MuxAlt3)]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/94392836</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/94392836</guid><author>AndyTsui</author><pubDate>Mon, 01 Jul 2019 15:32:20 +0800</pubDate><description><![CDATA[设置PORTC PIN7脚为LPUART0_RX





static inline void PORT_SetPinMux(PORT_Type * base, uint32_t pin, port_mux_t mux) //pin 为 7，mux 为 3

{

   base-&gt;PCR[pin] = (base-&gt;PCR[pin] &amp; ~PORT_PCR_M...]]></description><category></category></item><item><title><![CDATA[ImportError: cannot import name 'imread' from 'scipy.misc']]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/90759927</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/90759927</guid><author>AndyTsui</author><pubDate>Mon, 03 Jun 2019 22:03:02 +0800</pubDate><description><![CDATA[ImportError: cannot import name 'imread' from 'scipy.misc'

是由于`imread` is deprecated in SciPy 1.0.0, and will be removed in 1.2.0.
Use ``imageio.imread`` instead.

处理方法： 首先pip3 install imageio;

然后...]]></description><category></category></item><item><title><![CDATA[Service运行原理]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/90447324</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/90447324</guid><author>AndyTsui</author><pubDate>Wed, 22 May 2019 16:57:15 +0800</pubDate><description><![CDATA[启动服务，一种方式类似如下： 
Intent intent = new Intent(MainActivity.this, CountService.class);
      startService(intent);
具体调用frameworks/base/core/java/android/content/ContextWrapper.java的
  @Override
...]]></description><category></category></item><item><title><![CDATA[Handler原理]]></title><link>https://blog.youkuaiyun.com/AndyTsui/article/details/90437365</link><guid>https://blog.youkuaiyun.com/AndyTsui/article/details/90437365</guid><author>AndyTsui</author><pubDate>Wed, 22 May 2019 09:32:33 +0800</pubDate><description><![CDATA[Handler是Android给我们提供用于更新UI的一套机制，一套消息处理机制。一般处理程序在UI线程中执行耗时操作，这会导致UI线程阻塞，当UI线程阻塞，屏幕会出现卡死，用户体验会变得非常差，当线程阻塞超过5s，Android系统可能进行干预，弹出对话框询问是否关闭。我们处理方式是创建一个新的线程来实现耗时操作，采用handle机制来实现子线程发送message通知主线程去改变U...]]></description><category></category></item></channel></rss>