windowns10,删除微软拼音输入法: 控制面板-时钟和区域-区域-语言首选项-首选语言-“中文简体”-选项-键盘-微软拼音-删除。
# vscode terminal is being used here
PS C:\d_disk> irm get.scoop.sh -outfile 'install.ps1'
PS C:\d_disk> .\install.ps1 -RunAsAdmin
Initializing...
Downloading ...
Creating shim...
Adding ~\scoop\shims to your path.
Scoop was installed successfully!
Type 'scoop help' for instructions.
PS C:\d_disk>scoop bucket add extras
Checking repo... OK
The extras bucket was added successfully.
PS C:\d_disk> scoop install vscodium
Installing 'vscodium' (1.85.2.24019) [64bit] from extras bucket
VSCodium-win32-x64-1.85.2.24019.zip (118.6 MB) [===============================================================================================================================================] 100%
Checking hash of VSCodium-win32-x64-1.85.2.24019.zip ... ok.
Extracting VSCodium-win32-x64-1.85.2.24019.zip ... done.
Running pre_install script...
Linking ~\scoop\apps\vscodium\current => ~\scoop\apps\vscodium\1.85.2.24019
Creating shim for 'vscodium'.
Creating shortcut for VSCodium (VSCodium.exe)
Persisting data
Running post_install script...
'vscodium' (1.85.2.24019) was installed successfully!
Notes
-----
Add VSCodium as a context menu option by running 'reg import "C:\Users\MyPC\scoop\apps\vscodium\current\install-context.reg"'
For file associations, run 'reg import "C:\Users\MyPC\scoop\apps\vscodium\current\install-associations.reg"'
PS C:\d_disk>
#define ___asm(c) __asm_(c)
#define __asm_(c) __asm(#c);
#define __as1(c, d) __as1_(c, d)
#define __as1_(c, d) __asm( #c " , " #d);
#define __as2(c, d, e) __as2_(c, d, e)
#define __as2_(c, d, e) __asm( #c " , " #d " , " #e);
#define __as3(c, d, e, f) __as3_(c, d, e, f)
#define __as3_(c, d, e, f) __asm( #c " , " #d " , " #e " , " #f);
#define __as4(c, d, e, f, g) __as4_(c, d, e, f, g)
#define __as4_(c, d, e, f, g) __asm( #c " , " #d " , " #e " , " #f " , " #g);
#define __as5(c, d, e, f, g, h) __as5_(c, d, e, f, g, h)
#define __as5_(c, d, e, f, g, h) __asm( #c " , " #d " , " #e " , " #f " , " #g " , " #h);
### file:Include\ARMStartup_Platform.h
const uint32 brsTcmBase[BRS_CPU_CORE_AMOUNT][NUM_TCM_PER_CORE] = {
{
0xE4000018, /* CLUSTER0_CORE0_TCMA */
0xE4100018, /* CLUSTER0_CORE0_TCMB */
0xE4200018}, /* CLUSTER0_CORE0_TCMC */
...
}
}
/* file:ARMStartup_CortexR52.c
*/
/* EL2 Vector */
BRS_GLOBAL(EL2_VectorTable)
BRS_LABEL(EL2_VectorTable) /* Temporary Interrupt Vector Table */
___asm(B _start)
___asm(B EL2_Unhandled_Handler)
...
/* EL1 Vector */
BRS_GLOBAL(EL1_VectorTable)
BRS_LABEL(EL1_VectorTable) /* Temporary Interrupt Vector Table */
___asm(B brsStartupEntry)
___asm(B EL1_Unhandled_Handler)
...
/* EL2 Entry */
BRS_GLOBAL(_start)
...
__as1(MOV r0, #0)
__as1(MOV r1, #0)
...
__as1(LDR r0, =EL1_VectorTable) /* Set EL1 vector table */
__as5(MCR p15, #0, r0, c12, c0, #0) /* Write to VBAR */
__as1(LDR r0, =EL1_VectorTable) /* Load entry label */
__as2(ORR r0, r0, #1)
__as1(MSR ELR_hyp, r0) /* Set the link register */
___asm(DSB)
___asm(ISB)
___asm(ERET) /* Trigger EL1 level */
...
/* EL1 Entry */
BRS_SECTION_CODE(brsStartup)
...
BRS_GLOBAL(brsFirstCoreInit)
...
BRS_BRANCH(brsInitialMPUconfig)
...
#if (MPU_TCM_REGION == STD_ON)
/* Configure MPU region 12 for TCM */
__as1(LDR r0, =MPU_TCM_REGION_START)
__as1(LDR r1, =0x02) /* Non-Shareable, RW, Execute */
__as2(ORR r0, r0, r1)
__as5(MCR p15, #0, r0, c6, c14, #0) /* Write MPU base address register */
___asm(ISB)
__as1(LDR r0, =MPU_TCM_REGION_END) /* Set the limit address */
__as2(BFC r0, #0, #6) /* Align the limit address to 64 bytes */
__as1(LDR r1, =0x09) /* Attr4 of MAIR1, EN */
__as2(ORR r0, r0, r1)
__as5(MCR p15, #0, r0, c6, c14, #1) /* Write MPU limit address register */
___asm(ISB)
#endif
...
BRS_BRANCH(coreRegisterInit)
...
BRS_BRANCH(coreRegisterInit2)
/* file:ARMStartup_CortexR52.c */
/* Enable Tightly Coupled Memory */
#if (BRS_ENABLE_TCM == STD_ON)
BRS_READ_COREID(r0)
__as1(MOV r1, #NUM_TCM_PER_CORE)
__as2(MUL r1, r0, r1)
__as2(LSL r1, r1, #2)
__as1(LDR r2, =brsTcmBase)
__as1(ADD r2, r1)
__as1(LDR r1, [r2]) /* Load corresponding base address */
__as2(ORR r1, r1, #1) /* Enable TCMA */
__as5(MCR p15, #0, r1, c9, c1, #0) /* Write TCMA Region Register */
__as2(LDR r1, [r2, #4])
__as2(ORR r1, r1, #1) /* Enable TCMB */
__as5(MCR p15, #0, r1, c9, c1, #1) /* Write TCMB Region Register */
__as2(LDR r1, [r2, #8])
__as2(ORR r1, r1, #1) /* Enable TCMC */
__as5(MCR p15, #0, r1, c9, c1, #2) /* Write TCMC Region Register */
#endif /*BRS_ENABLE_TCM*/
root@5b37c152a18b:/home/tzdong/yocto_v590/build# apt-get install rsync
root@5b37c152a18b:/home/tzdong/yocto_v590/build# vim ../poky/meta/conf/sanity.conf
# INHERIT += "sanity"
root@5b37c152a18b:/home/tzdong/yocto_v590/build# git config --global --add safe.directory /home/tzdong/yocto_v590/build/downloads/git2/gitlab.freedesktop.org.pkg-config.pkg-config.git
去对应的git目录下,执行下面的命令
# git fetch --unshallow
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
# 配置git的最低速和最低速时间
dongtz@renesas-abd:~/work/linux/yocto_v590$ git config --global http.lowSpeedLimit 0
dongtz@renesas-abd:~/work/linux/yocto_v590$ git config --global http.lowSpeedTime 999999
# 可以增加git的缓存大小
dongtz@renesas-abd:~/work/linux/yocto_v590$ git config --global http.postBuffer 1048576000
# 文件太大,解决方式为git添加 compression 配置项
dongtz@renesas-abd:~/work/linux/yocto_v590$ git config --global core.compression -1
(转载)关于git拉取项目时,报RPC failed; curl 18 transfer closed with outstanding read data remaining错的解决方法
global配置对当前用户生效,如果需要对所有用户生效,则用–system
在项目地址中间加上 gitclone.com
SENT - Single Edge Nibble Transmission(单边半字传输协议)。
SENT总线是比CAN或Lin更便捷、可靠、经济的车载数据通讯解决方案,现在是SAE J2716标准,应用在整车传感器、执行器及Drive-by-wire线控等子系统中,目前越来越多的传感器都已支持SENT类型的信号。
2、单线数据传输(信号线,电源,地),总共3线;
3、由帧来传输数据,或者数据包的形式,每一帧由不同宽度的脉冲即半字节组成,数据的传输可以分为快速通道和慢速通道。
4、无需接收器和集成发射器,因此相比CAN或Lin成本更低,且具有不错的传输精度和速度,数字数据传输速度可达30kb/s。
重要的信号用快速通道以实现高频率的更新,比如压力等,
对于非关键的信号,如诊断等可以放在慢速通道传输(快速通道是每一帧传输一个完整的信号,慢速通道需要多帧来传输一个完整的信号,即更新频率不同)。
具有很好的EMC 特性并节省线束和插针结头,且能传输故障代码从而使传感器系统具有很强的故障诊断能力。
可在局部系统中取代CAN和LIN,但却不能替代CAN或是Lin 因为SENT是连续单向传输的,CAN和Lin都是双向传输。
SENT信号通过两个下降沿周期之间的一系列脉冲序列来传输,
SENT报文以一个同步脉冲开始,该脉冲与后续的下降沿之间的时间间隔等效于56个时钟节拍;
同步脉冲之后,状态/通信半字节按照SENT格式传送;
随后紧接着就是6个含有传感器数据的Data Nibbles,数据通过4个数据位为一个单元来传输,或称“半字节”(一个半字节即一个Nibble);
在每条报文的尾部会提供一个检验脉冲并插入一个固定长度不超过1ms的暂停脉冲,因此SENT报文的长度会随着半字节的值而有不同。
SENT信号每一帧主要包含如下五部分:
1 Synchronization/calibration pulse (包含56个 clock ticks)。
2 一个Nibble(即4个Bits)的Status and Serial Communication pulse (12~27clock ticks)。
3 连续6个Nibbles的data pulses (每个Nibble:12~27 clock ticks)。
4 一个Nibble(即4个Bits)的 CRC及checksum pulse(12~27 clock ticks)。
5 一个可选的 pause pulse。
上面也说了一个半字节代表4个Bits(即一个Nibble),由于一个半字节可以表示0000~1111数值范围,因此可通过6个Nibble的大小来表示传感器数据,而每个Nibble的大小可通过时钟节拍tick的个数来表示,根据协议每个Nibble大小由12~27个ticks来表示,如下:
一个时钟节拍tick表示时间单位,其范围为3~10us,一般为3us。
时钟节拍大小的确定楼主以一个例子为例说明:SENT信号传输时会有一时钟计时每个脉冲所占用的时间,例如同步脉冲在此例总共耗用了840us,由于每个同步脉冲由56个ticks组成,那么可得每个时钟节拍为15us。
一帧SENT报文包含1个同步脉冲、8个Nibbles和1个可选暂停脉冲。SENT协议有SENT 2008和SENT 2010两种,SENT 2008一帧数据结尾会包括1个校验位,而SENT 2010一帧数据结尾除了包含1个校验位还有1个可变暂停位。