质量好就贵了哦。。。
我给你ID你自己搜索吧
比如LUNA家里。。。
wnyalan
阿刚家独一无二918
木家。。。
imu_song
小怡家。。。
ii31415926
雨晴家
anada-yu
小盗家
chen20201
emi家
emi_y
夏天家vivi夏天的颜色
青草家青草夕溪
猪猪家vicky0vicky
白云家一朵小白云
娃子家小娃子chunzi她家衣服便宜哦~~
爱微家aivstore很便宜,不过款式普通,而且经常缺货
这些家衣服质量都很好,而且很多都是是mina
vivi杂志推荐的一些款。不过他们家确实都卖得贵~~
你可以到他们家看款式,然后搜索别家有没有同款便宜的,不过有个小风险就是,在你搜索别家的时候,他们家yy可能已经被抢光了,那你没搜到的话可能就买不到了~~~
优优de猫她家包包很好看~~~~
你这是油性敏感性皮肤,参考一下以下的回答,或者会对你有帮助的呢!
你好!那么希望以下的回答能够帮到你了!
首先是敏感性混合皮肤的保养方法:
混合性皮肤的敏感问题,通常都出现在较干燥的U型部位,MM最好于敏感期间彻底执行分区保养,U型补水,T型维持毛孔通畅,不刻意控油,分区保养就是不二法门了!
1,加强U字地带和眼唇周围的保湿:不需要整脸涂,只要涂抹于较干的脸颊,眼唇周围即可,分区保养才对肌肤最安全!
2,以矿泉喷雾湿敷U字部位:整脸喷上矿泉喷雾后快速拍干,再用化妆棉沾取喷雾湿敷于U字部位,让干燥得以缓解!
3,加强T字部位的清洁:加强清洁油脂分泌较旺盛的T字,U字部位则以清水清洁,不需要过分搓揉
正确的保养顺序是321,我给打反了,不好意思哈!
再给你推荐一套护肤品:
洗面奶:可考虑婵真的银杏洗面奶或者SANA的豆乳美肌洗面奶
水:可考虑水之印的弹力保湿化妆水或者SKIN FOOD的蕃茄纳米亮白化妆水
乳液:可考虑下ZA的沁漾保湿乳液或者THE FACE SHOP的冰花乳液
防晒霜:可以从SKIN FOOD的蕃茄纳米亮白防晒隔离霜或者MISS VIVI轻透美白防晒隔离乳中进行选择
希望以上的回答能够帮到你,希望你的皮肤能够早日恢复
呵呵 这个有点小复杂。。我也是ARM爱好者 一下是我存的资料 有关ViVi的配置 希望对你有帮组:
2 vivi的配置与编译
121 建立交叉开发环境
1、在宿主机上安装标准Linux 操作系统:Redhat 90 ( 主机系统为win2000,用虚拟机vmware安装的Redhat 90,内核版本为2418) 。
2、宿主机上安装交叉编译器。
我这边的2410开发板提供的光盘上已附交叉编译器工具:arm-linux-gcc-2953(源码为cross-2953tarbz2)。
先以root 用户的身份登陆到linux 下。
进入/usr/local 目录,创建名为arm的目录:
cd /usr/local
mkdir arm
将光盘提供的cross-2953tarbz2解压到/usr/local/arm目录:
tar jxvf cross-2953tarbz2 –C /usr/local/arm
然后修改修改PATH 变量:为了可以方便使用arm-linux-gcc编译器系统, 把arm-linux工具链目录加入到环境变量PATH中:
修改/etc/profile文件,添加pathmunge /usr/local/arm/2953/bin即可。
# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /usr/local/arm/2953/bin
fi
pathmunge /usr/X11R6/bin after
设置环境变量后,最好是重启或注销一下,这样设置的环境变量才能生效。
122 配置和编译vivi
如果vivi的源代码已根据开发板作了相应改动,则需要对源代码进行配置和编译,以生成烧入flash的vivi 二进制映象文件。
由于vivi要用到kernel的一些头文件,所以需要kernel的源代码,所以先要把linux的kernel准备好。将vivi和kernel都解 到相应目录下(例如我将光盘提供的vivi源代码解压到/home/chenjun目录下,光盘提供的Linux kernel源码kernel-h2410eb041024targz也解压到/home/chenjun目录下,解压后的文件名为kerne- h2410eb)。
然后需修改/vivi/Makefile里的一些变量设置:
LINUX_INCLUDE_DIR = /kernel/include/
(LINUX_INCLUDE_DIR 为kernel/include的对应目录,我的是/home/chen/kerne-h2410eb /include/)
因此修改为:
LINUX_INCLUDE_DIR = /home/chenjun/ kerne-h2410eb/include/
CROSS_COMPILE = /usr/local/arm/2953/bin/arm-linux-
(CROSS_COMPILE 为arm-linux安装的相应目录,我的是/usr/local/arm/2953/bin/arm-linux-)
因此修改为:
CROSS_COMPILE = /usr/local/arm/2953/bin/arm-linux-
ARM_GCC_LIBS = /usr/local/arm/2953/lib/gcc-lib/arm-linux/2953
(需根据你arm-linux的安装目录修改,我的是/usr/local/arm/2953/lib/gcc-lib/arm-linux/2953)
进入/vivi目录执行make distclean。(目的是确保编译的有效性,在编译之前将vivi里所有的“o”和“oflag”文件删掉)
进入/vivi目录里,输入“make menuconfig”,开始选择配置。可以Load一个写好的配置文件也可以自己修改试试。注意Exit时一定要选“Yes”保存配置。
再输入“make”正式开始编译,一会儿就完了。如果不报错,在/vivi里面就有你自己的“vivi”了。这个就是后面要烧写到flash中的bootloader。
13 vivi代码分析
vivi的代码包括arch,init,lib,drivers和include等几个目录,共200多条文件。
Vivi主要包括下面几个目录:
arch:此目录包括了所有vivi支持的目标板的子目录,例如s3c2410目录。
drivers:其中包括了引导内核需要的设备的驱动程序(MTD和串口)。MTD目录下分map、nand和nor三个目录。
init:这个目录只有mainc和versionc两个文件。和普通的C程序一样,vivi将从main函数开始执行。
lib:一些平台公共的接口代码,比如timec里的udelay()和mdelay()。
include:头文件的公共目录,其中的s3c2410h定义了这块处理器的一些寄存器。Platform/smdk2410h定义了与开发板相关的资源配置参数,我们往往只需要修改这个文件就可以配置目标板的参数,如波特率、引导参数、物理内存映射等。
14 vivi的运行
vivi的运行也可以分为两个阶段:
141 vivi的第一阶段
完成含依赖于CPU的体系结构硬件初始化的代码,包括禁止中断、初始化串口、复制自身到RAM等。相关代码集中在headS(viviarchs3c2410目录下):HeadS:
#include "configh"
#include "linkageh"
#include "machineh"
@ Start of executable code
ENTRY(_start)
ENTRY(ResetEntryPoint)
@
@ Exception vector table (physical address = 0x00000000) ;异常向量表物理地址
@
@ 0x00: Reset ;复位
b Reset
@ 0x04: Undefined instruction exception ;未定义的指令异常
UndefEntryPoint:
b HandleUndef
@ 0x08: Software interrupt exception ;软件中断异常
SWIEntryPoint:
b HandleSWI
@ 0x0c: Prefetch Abort (Instruction Fetch Memory Abort) ;内存操作异常
PrefetchAbortEnteryPoint:
b HandlePrefetchAbort
@ 0x10: Data Access Memory Abort ;数据异常
DataAbortEntryPoint:
b HandleDataAbort
@ 0x14: Not used ;未使用
NotUsedEntryPoint:
b HandleNotUsed
@ 0x18: IRQ(Interrupt Request) exception ;慢速中断处理
IRQEntryPoint:
b HandleIRQ
@ 0x1c: FIQ(Fast Interrupt Request) exception;快速中断处理
FIQEntryPoint:
b HandleFIQ
@
@ VIVI magics
@
@ 0x20: magic number so we can verify that we only put
long 0
@ 0x24:
long 0
@ 0x28: where this vivi was linked, so we can put it in memory in the right place
long _start
@ 0x2C: this contains the platform, cpu and machine id
long ARCHITECTURE_MAGIC
@ 0x30: vivi capabilities
long 0
#ifdef CONFIG_PM ;vivi考虑不需要使用电源管理
@ 0x34:
b SleepRamProc
#endif
#ifdef CONFIG_TEST
@ 0x38:
b hmi
#endif @
@ Start VIVI head
@
Reset:
@ disable watch dog timer;禁止看门狗计时器
mov r1, #0x53000000 ;WTCON寄存器地址是
0x53000000,清0
mov r2, #0x0
str r2, [r1]
#ifdef CONFIG_S3C2410_MPORT3 ;不符合条件,跳到下面的关中断
/ 在/vivi/include/autoconfh中#undef CONFIG_S3C2410_MPORT3/
mov r1, #0x56000000 ;GPACON寄存器地址是
0x56000000
mov r2, #0x00000005
str r2, [r1, #0x70] ;配置GPHCON寄存器
mov r2, #0x00000001
str r2, [r1, #0x78] ;配置GPHUP寄存器
mov r2, #0x00000001
str r2, [r1, #0x74] ;配置GPHDAT寄存器
#endif
@ disable all interrupts ;禁止全部中断
mov r1, #INT_CTL_BASE
mov r2, #0xffffffff
str r2, [r1, #oINTMSK] ;掩码关闭所有中断
ldr r2, =0x7ff
str r2, [r1, #oINTSUBMSK]
@ initialise system clocks ;初始化系统时钟
mov r1, #CLK_CTL_BASE
mvn r2, #0xff000000
str r2, [r1, #oLOCKTIME]
@ldr r2, mpll_50mhz
@str r2, [r1, #oMPLLCON]
#ifndef CONFIG_S3C2410_MPORT1 ;满足条件,向下执行
/ 在/vivi/include/autoconfh中#undef CONFIG_S3C2410_MPORT1/
@ 1:2:4
mov r1, #CLK_CTL_BASE
mov r2, #0x3
str r2, [r1, #oCLKDIVN]
mrc p15, 0, r1, c1, c0, 0 @ read ctrl register
orr r1, r1, #0xc0000000 @ Asynchronous
mcr p15, 0, r1, c1, c0, 0 @ write ctrl register
@ now, CPU clock is 200 Mhz ;CPU的频率是200MHz
mov r1, #CLK_CTL_BASE
ldr r2, mpll_200mhz
str r2, [r1, #oMPLLCON]
#else
@ 1:2:2
mov r1, #CLK_CTL_BASE
ldr r2, clock_clkdivn
str r2, [r1, #oCLKDIVN]
mrc p15, 0, r1, c1, c0, 0 @ read ctrl register
orr r1, r1, #0xc0000000 @ Asynchronous
mcr p15, 0, r1, c1, c0, 0 @ write ctrl register
@ now, CPU clock is 100 Mhz ;CPU的频率是100MHz
mov r1, #CLK_CTL_BASE
ldr r2, mpll_100mhz
str r2, [r1, #oMPLLCON]
#endif
bl memsetup ;跳转到memsetup函数
/
Memsetup函数的实现:
ENTRY(memsetup)
@ initialise the static memory
@ set memory control registers ;设置内存控制寄存器的初值
mov r1, #MEM_CTL_BASE
adrl r2, mem_cfg_val
/
@
@ Data Area
@
@ Memory configuration values
align 4
mem_cfg_val: ;定义好的134=52个字节初值
long vBWSCON ;在/vivi/include/platform/smdk2410h中赋值
/ SDRAM从32位变成16位,需要修改vBWSCON的值 /
long vBANKCON0
long vBANKCON1
long vBANKCON2
long vBANKCON3
/ 网卡控制器vBANKCON3的值可能需要修改 /
long vBANKCON4
long vBANKCON5
long vBANKCON6
/ SDRAM从32位变成16位,可能需要修改vBANKCON6的值 /
long vBANKCON7
long vREFRESH
long vBANKSIZE
/ SDRAM从64MB变成32MB,需要修改vBANKSIZE的值 /
long vMRSRB6
long vMRSRB7
/
add r3, r1, #52
1: ldr r4, [r2], #4
str r4, [r1], #4
cmp r1, r3
bne 1b ;循环操作,直到13个寄存器赋值完成
mov pc, lr
//
#ifdef CONFIG_PM ;vivi考虑不需要使用电源管理
@ Check if this is a wake-up from sleep
ldr r1, PMST_ADDR
ldr r0, [r1]
tst r0, #(PMST_SMR)
bne WakeupStart ;查看状态,判断是否需要跳转到WakeupStart
#endif
#ifdef CONFIG_S3C2410_SMDK ;SMDK开发板使用
@ All LED on ;点亮开发板上的LED
mov r1, #GPIO_CTL_BASE
add r1, r1, #oGPIO_F ;LED使用GPIOF组的管脚
ldr r2,=0x55aa ;使能EINT0,EINT1,EINT2,EINT3,
;另四个管脚配置成输出,屏蔽EINT4,5,6,7
str r2, [r1, #oGPIO_CON]
mov r2, #0xff
str r2, [r1, #oGPIO_UP] ;disable the pull-up function
mov r2, #0x00
str r2, [r1, #oGPIO_DAT]
#endif
#if 0
@ SVC
mrs r0, cpsr
bic r0, r0, #0xdf
orr r1, r0, #0xd3
msr cpsr_all, r1
#endif
@ set GPIO for UART ;设置串口
mov r1, #GPIO_CTL_BASE
add r1, r1, #oGPIO_H ;设置GPIO_H组管脚为串口
ldr r2, gpio_con_uart
str r2, [r1, #oGPIO_CON]
ldr r2, gpio_up_uart
str r2, [r1, #oGPIO_UP]
/
欢迎分享,转载请注明来源:品搜搜测评网