当前位置: 首页 > news >正文

nandflash分两个fat32分区遇到的问题

nandflash分两个fat32分区???

大家好,我现在是用的K9F1G08U0A 128Mflash,目前是分了四个区,如下
NAND chip partitioning
    ---------------------    NAND flash end
FAT File System
    ----------------------    <variable based on OS image>
OS (BINFS)
    ----------------------
EBOOT (Binary)    256 kB (round up to whole number of blocks)
    ----------------------
Unused    14 kB (May change according to block size)
    ----------------------
Nand Loader (Binary)    2 kB
    ----------------------
我用的是ce5.0,现在的情况是我能将FAT File System分成一个FAT32的分区,显示的是盘符的形式,可以自动挂载,正常使用,但是我想把FAT File System分成两个FAT32的分区,就始终只能挂载第一个分区,第二个就挂不上,我是在eboot中分的,烧录os的时候eboot打出来的信息也是分区成功,大家有没有谁知道还要在别的地方设置什么吗?
附上我的分区代码和注册表设置
//~~~~~Creat the first FAT32 partition to use 20M flash to save applications add by cy~~~~~~~~~~~~
OALMSG(OAL_INFO, (TEXT("INFO: PREPARE TO CREATE THE 2M SPACE.\r\n")));
hPart = BP_OpenPartition(NEXT_FREE_LOC, NAND_IMAGE_NUM_SECTOR(0x01400000, g_FlashInfo.wDataBytesPerSector),//0x1400000 = 20M
                        PART_DOS32, TRUE, PART_OPEN_ALWAYS);
if(hPart == INVALID_HANDLE_VALUE)
    {
        OALMSG(OAL_ERROR, (TEXT("ERROR: failed to create/open FIRST FAT32 extended partition.\r\n")));
      // return FALSE;
    }
  else
      OALMSG(OAL_INFO, (TEXT("INFO: SUCCESSFULLY CREATE 2M SPACE .\r\n"))); 
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    // Create an extended partition to use rest of flash to mount a filesystem.
    OALMSG(OAL_INFO, (TEXT("INFO: PREPARE TO CREATE THE 2nd(80M) SPACE.\r\n")));
    hPart = BP_OpenPartition(NEXT_FREE_LOC, USE_REMAINING_SPACE,
                        PART_DOS32, TRUE, PART_OPEN_ALWAYS);
    //hPart = BP_OpenPartition(NEXT_FREE_LOC, USE_REMAINING_SPACE,
                      // PART_EXTENDED, TRUE, PART_OPEN_ALWAYS);
; HIVE BOOT SECTION
IF BSP_NAND_FMD
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NAND_Flash]
    "Dll"="nandfmd.dll"
    "Order"=dword:0
    "Prefix"="DSK"
    "Ioctl"=dword:4
    "Profile"="FlashDisk"
    "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
    "FriendlyName"="NAND FLASH Driver"
; Override names in default profile
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk]
    "DriverPath"="Drivers\\BuiltIn\\NAND_Flash"
    "DefaultFileSystem"="FATFS"
    "PartitionDriver"="mspart.dll"
    "AutoMount"=dword:1
    "AutoPart"=dword:1
    "AutoFormat"=dword:1           
    "Name"="NAND FLASH"
    "Folder"="NAND Flash"
    "Ioctl"=dword:4
    "MountFlags"=dword:4
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS]
  "Flags"=dword:00000014       
  "FormatTfat"=dword:1    ; Format partitions to be TFAT
  "MountAsBootable"=dword:1

cwl417
2007-07-13 15:32

我想这个问题应该困扰着很多人,第一个分区20M,第二个分区就是剩下的空间了,哪位大虾帮帮忙,先谢谢了。
自己顶一下

saint_bxg
2007-07-13 16:00

BP_OpenPartition应该没有问题,可能MBR中DPT部分已经满了吧。你不是创建了4个分区嘛,DPT最多就能保存4个分区的信息。这样的话再创建FAT就没法保留分区信息了。
你把MBR 的446-509字节数据打出来,看看内容是什么

jasonshi
2007-07-13 16:35

他其实DPT部分的3个区,以下这两个部分应该不占区的
  EBOOT (Binary)    256 kB (round up to whole number of blocks)
    ----------------------
            Unused    14 kB (May change according to block size)
    ----------------------
    Nand Loader (Binary)    2 kB
我也碰到了同样的问题,只能挂载第一个FAT区 :(

zhuxiaofeng
2007-07-13 17:33

To cwl417 & saint_bxg & jasonshi :
三位好,我现在挂不上。
不知道开始的时候Read_Sector()的时候Psectorinfo怎么添??

saint_bxg
2007-07-13 18:02

zhuxiaofeng :
你说的挂不上是什么意思,是系统起来后看不到NAND盘?(存储管理器中也看不到分区)
那系统是已经烧到NAND中的吗? 如果是那样的话,可能是添加设备信息的时候最后一个 对连续页读的支持 不对。
比如我的
#define NAND_DEVICE_K9F2G08U0X  \
{ ID_MAKER_SAMSUNG, 0xDA, 8, SAMSUNG_LARGEPAGE_X08_BBI_OFFSET, 50000000, 2048, 64, 2048, 64, 0x01, 0x00, FALSE }
我的NAND 不支持连续页读,我同事之前写了TRUE,结果容量大小显示为8TB

jasonshi
2007-07-13 22:57

zhuxiaofeng :你的应该最好解决,你用的是小页,稍微修改下就可以了。看看fmd.h中的结构体,把那八个字节的添好了就行了

cwl417
2007-07-16 09:30

大家说的DPT满了不知道跟分区的数量有没有关系,我在bppriv.h中发现了有一个NUM_PARTS为4的宏定义,我把它改成了5,但是还是没有用。
而且我能保证BP_OpenPartition是没有问题的,因为我注释掉前面的20M的分区BP_OpenPartition函数,后面的80M的分区就能分出来,而且能挂上正常使用,大家多提些意见,谢谢了!

hzwwin
2007-07-16 11:10

各位大侠能不能讲讲在eboot下将nand分成一个BinFS分区和一个FAT分区的步骤?
是不是首先要调用BP_Init,然后调用BP_OpenPartition就可以了?
在BP_Init函数中的第一个参数BINFS_RAM_START地址应该如何确定呢?在BP_Init中调用了FMD_Init函数,是不是直接用驱动中的函数就可以了?
谢谢大家!

saint_bxg
2007-07-16 14:04

to cwl417:
“注释掉前面的20M的分区BP_OpenPartition函数,后面的80M的分区就能分出来,而且能挂上正常使用”
那很有可能就是上面所说的DPT的问题。
单改bppriv.h中的NUM_PARTS是没有用的,因为DPT就那么大。真要起作用的话,可能改动比较大,我没有试过,不知道行不行。
你先看一下FAT磁盘结构的资料

cwl417
2007-07-16 16:03

to saint_bxg :
    首先谢谢你的关注,我查看了一下我的bsp,里面涉及到eboot,os的起始地址和偏移量的地方有很多,也不知道该改什么地方,这些都是第三方做的,如果真是要我自己该起来还真的是很麻烦。
    我曾经搜到过一篇帖子,作者也是这个问题,后来他自己解决了,只说了是要激活方式分区的问题,然后就没下文了。

zhuxiaofeng
2007-07-16 20:02

谢谢jasonshi & saint_bxg.
谢谢大家。。
我的现在是,读写可以,自己在初始化之后测试了一下。
还有就是在控制面板里面可以看见nandflash的大小,
而且大小是对的。。
但是没有盘符??
不知道怎么回事??
是什么不对哪??
怎么看分区哪??谢谢大家。。

zhuxiaofeng
2007-07-16 20:04

谢谢jasonshi & saint_bxg.
谢谢大家。。
我的现在是,读写可以,自己在初始化之后测试了一下。
还有就是在控制面板里面可以看见nandflash的大小,
而且大小是对的。。
但是没有盘符??
不知道怎么回事??
是什么不对哪??
怎么看分区哪??谢谢大家。。

zhuxiaofeng
2007-07-16 20:12

这是偶得注册表部分的设置。
不知道有什么不妥的地方吗??
我只要挂上文件系统就行。。谢谢大家。。
; HIVE BOOT SECTION
; @CESYSGEN IF CE_MODULES_SDNPCID
IF BSP_SMFLASH_WB910
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash]
        "Profile"="MSFlash"
        "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
        "Order"=dword:0
        "FriendlyName"="MSFLASH Driver"
        "Dll"="smflash.dll"
        "Prefix"="DSK"
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash]
    "DriverPath"="Drivers\\BuiltIn\\MSFlash"
    ; LoadFlags 0x01 == load synchronously
    "LoadFlags"=dword:2
    "Order"=dword:0
    "BootPhase"=dword:2
ENDIF BSP_SMFLASH_WB910
; @CESYSGEN ENDIF CE_MODULES_SDNPCID
; END HIVE BOOT SECTION

saint_bxg
2007-07-17 09:05

to zhuxiaofeng:
添加几个子键试试:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NandFlash]
    "Dll"="nandfcd.dll"    ;你的NAND驱动所生成的DLL
    "Order"=dword:1          ;have changed. from 0 to 1
    "Prefix"="DSK"        ;前缀
    "Profile"="FlashDisk"
    "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
    "FriendlyName"="随便取个名字,将在存储管理器中看到"
    "BmlVolumeId"=dword:0
    "BmlPartitionId"=dword:8
    "Index"=dword:2
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk]
    "Name"="SAMSUNG NAND "
    "Folder"="C"    ;NAND盘符名称
    "DefaultFileSystem"="FATFS"
    "AutoMount"=dword:1    ;自动挂载
          "AutoPart"=dword:1
      "AutoFormat"=dword:1
    "PartitionDriver"="mspart.dll"
      "Ioctl"=dword:4
      "BootPhase"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS]
    ; Override common setting to enable automatic formatting of unformatted volumes
    "Flags"=dword:00000024         
    "Dll"="fatfsd.dll"
    "Paging"=dword:1
    "EnableCacheWarm"=dword:0
    "CacheSize"=dword:0
  ; "MountAsBootable"=dword:1    ;;have changed. add
    ; "MountAsRoot"=dword:1

jasonshi
2007-07-17 10:44

saint_bxg : 如果挂两个FAT区注册表应该怎么设置呢?

saint_bxg
2007-07-17 12:14

我这里就这么设置的话他两个都给你挂上了,后一个名字自动编号2
也试过分开加载,但没有成功。有什么方法可以交流一下。

jasonshi
2007-07-17 17:11

    "BmlVolumeId"=dword:0
    "BmlPartitionId"=dword:8
这两个字段是什么意思呢?

zhuxiaofeng
2007-07-17 17:52

我加上了,不过没反应,不知道怎么回事?
谢谢。。。
还是挂不上文件系统。

zhuxiaofeng
2007-07-17 18:28

我手动格式化的时候,就会出现所有的block是bad的情况。
而先前已经扫描了过了,都是好的,为什么再次扫描会出现是bad的哪??
不明白??
还往大家指点一下,谢谢。。

cwl417
2007-07-17 19:01

to zhuxiaofeng :
你挂载不上可以试试是不是分区格式不对造成的,在BP_OpenPartition中,分区一定要分成fat32的形式,我以前试过分成fat的格式,就挂不上,郁闷了好长一段时间!
你试一下,说不定是这个问题!

zhuxiaofeng
2007-07-17 20:21

谢谢,
BP_OpenPartition不是在Bootloader里面做?
我现在是想纯粹把nand flash当作一个文件系统来做,
只要出现盘符就行,
如果仅仅这样的话,该怎么做??
谢谢

cwl417
2007-07-18 11:14

我知道你的意思,一般情况下是在eboot中做的,nand.c中会有,然后你按照上面他们给你改的注册表应该就能自动挂上出现盘符,5.0是盘符,4.2是文件夹。
或者你按照我给的分区代码和注册表设置分一个fat32分区是完全没有问题的, 你试一下吧!

ddnewbie
2007-07-19 14:43

to all
现在nand能挂上,但是挂上之前花了很长时间在fmd_erase,fmd_readsector 和fmd_writesector
尤其是erase一个block后,会对block的每个sector进行read and writer,并且会对每个block erase2次
请问这种情况如何分析

ddnewbie
2007-07-19 14:46

by the way ,it is 2k nand
而且如果new folder,会去把所有block erase一遍
然后报错无法create folder
是否erase block后需要write cis
请各位大虾帮帮忙看看

jasonshi
2007-07-19 15:02

只有第一次才会这样,是低级格式话,以后启动不会了。

ddnewbie
2007-07-19 15:49

楼上的意思是否 我所描述的现象正常?
但是创建一个文件夹,会把所有block erase一遍
这个应该不正常吧?

jasonshi
2007-07-20 08:49

这个我估计是你的erase函数有问题,你可以跟一下,是不是每次都返回false?

ddnewbie
2007-07-20 12:26

每次load driver后都有
0x8dfc88c8: Loading partition driver mspart.dll hModule=8DF9CE58
0x8dfc88c8: Driver mspart.dll loaded
0x8dfc88c8: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table doesn't exist for logical sector 0x0!!!
0x8dfc88c8: FLASHDRV.DLL:ReadFromMedia() - Unable to determine physical sector address for logical sector 0x00000000
0x8dfc88c8: Opened the store hStore=000B26D0
0x8dfc88c8: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table doesn't exist for logical sector 0x0!!!
0x8dfc88c8: FLASHDRV.DLL:ReadFromMedia() - Unable to determine physical sector address for logical sector 0x00000000
0x8dfc88c8: NumSec=65344 BytesPerSec=2048 FreeSec=0 BiggestCreatable=0
然后开始erase block, 而且每个block erase 2次,问题1 ,这正确否?
erase完后,可以看到nand的盘符
但是会出现如下
0x8db45670: FLASHDRV.DLL:FMD_ReadSector() failed!
0x8db45670: FLASHDRV.DLL:ReadFromMedia() failed.
0x8db45670: Read/Write Sector failed (30) on Sector 17
0x8db45670: FATFS!FindNext: unexpected error (30)
0x8db45670: FATFS!FAT_FindFirstFileW(0x00000000,\*.*) returned 0xffffffff "" (30)
0x8db45670: SWP:FrameChanged sent to window 0x7C014340 which is not visible
问题2:
请多多指教

zhuxiaofeng
2007-07-23 20:31

根据大家的建议,我把注册表修改成saint_bxg给的之后。第一次回低格,以后就不会再低格了,
但是现在我的驱动现在是从debug信息来看是挂上文件系统了,
    因为在Debug信息里面已经出现了,Mount complete (E, index 4, flags 0x00000000)
    但是在打开WinCE的mydevice的时候,会出现好像down掉了似的。
    我debug了一下,他会去读nand的第124个sector,不知道为啥会读这个sector,
    而且这时候 DMA中断产生不了。导致他会DOWN掉。
下面是debug信息,大家帮忙看看,谢谢各位兄弟了,
Loading module smflash.dll at address 0x02830000-0x02844000 (RW data at 0x01EC0000-0x01EC0BA0)
Loaded symbols for 'C:\WINCE500\PBWORKSPACES\WINBOND_NS\RELDIR\WINBOND_ARMV4I_DEBUG\SMFLASH.DLL'
4294769956 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FMD_init has been Enter!
4294769960 PID:4dfc330e TID:2dfa2996 0x8dfc6400: FMD: NF_TransferIstThread has been Setuped!
4294769969 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FMD: ReadID (Mfg=0XEC, Dev=0X75)
4294769971 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FLASHDRV.DLL:BuildupMappingInfo() - Enter.
4294769982 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: Block 0 is Bad!
4294770103 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table doesn't exist for logical sector 0x0!!!
4294838914 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: >>> Loading module mspart.dll at address 0x03C50000-0x03C5E000 (RW data at 0x01FD7000-0x01FD74AC)
Loaded symbols for 'C:\WINCE500\PBWORKSPACES\WINBOND_NS\RELDIR\WINBOND_ARMV4I_DEBUG\MSPART.DLL'
4294838916 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: Loading partition driver mspart.dll hModule=8DF99288
4294838917 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: Driver mspart.dll loaded
4294838986 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: Opened the store hStore=000B2A50
4294839009 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: NumSec=65344 BytesPerSec=512 FreeSec=0 BiggestCreatable=0
4294839009 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: Partition Part00  NumSectors=65342
4294839010 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: MSPART!PD_OpenPartition: dwStoreId=000B2A50, PartName=Part00
4294839031 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: >>> Loading module fatfsd.dll at address 0x03E40000-0x03E73000 (RW data at 0x01FF0000-0x01FF065C)
Loaded symbols for 'C:\WINCE500\PBWORKSPACES\WINBOND_NS\RELDIR\WINBOND_ARMV4I_DEBUG\FATFSD.DLL'
4294839038 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FSD_MountDisk: mounting volumes for hDsk=000B4130
4294839064 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: access time updates disabled
4294839064 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: event logging enabled
4294839065 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: automatic scanning disabled
4294839065 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: write verify disabled
4294839066 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: extra FAT on format disabled
4294839066 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: force write through enabled
4294839068 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: Codepage = 1
4294839071 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: Number of path cache entries = 50
4294839103 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: >>> Loading module diskcache.dll at address 0x03E30000-0x03E39000 (RW data at 0x01FEE000-0x01FEE4F4)
Loaded symbols for 'C:\WINCE500\PBWORKSPACES\WINBOND_NS\RELDIR\WINBOND_ARMV4I_DEBUG\DISKCACHE.DLL'
4294839106 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: CreateCache: Successful.  Cache Size: 32 KB, Start: 1, End: 64.
4294839107 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: CreateCache: Successful.  Cache Size: 64 KB, Start: 65, End: 65341.
4294840544 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!InitVolume: FAT version: 16
4294840544 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!InitVolume: Cluster Size (Sectors): 4
4294840544 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!InitVolume: TFAT enabled: FALSE
4294840548 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FS: Registering file system E, index 4, flags 0x00000000
4294840549 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FS: Mount complete (E, index 4, flags 0x00000000)
在这之后如果我去打开winCE的mydevice:
他会去读第124个sector.不知道为啥?而且这时候中断产生不了,
谢谢各位大虾了。。

ttjlc
2007-08-18 11:18

呵呵~

lzd2006
2007-08-20 09:20

to all,
我在移植大页的NAND FLASH遇到一个很怪的问题。
我在存储管理器,可以看到正常的FLASH大小信息,但看不到分区信息。格式化后,可以看到分区信息,也能看到盘符,可以复制文件到这个盘符。但重启后,盘符看不到,里面的文件也看不到了。
当初以为原来看到的盘符和复制到里面的文件都是在内存里面,因为我的内存才64M,再格式化后,我复制了大于64M的文件放到该盘符下,也可以,那说明我复制的文件应该是在NAND FLASH中的。而且里面文件也应该是对的,因为我用来播放该盘符中的视频文件,也可以正常播放。
请大家讨论一下,相互进步。
也可以发邮件,交流一下。
liuzhd21@21cn.com

转载于:https://www.cnblogs.com/xilentz/archive/2010/05/31/1747886.html

相关文章:

  • 让自己强大
  • 静态链接库(Lib)与动态链接库(DLL)的区别
  • 引用 引用 理解多线程
  • 诊断RAC数据库的启动
  • 异步备份和还原数据库:.NET发现之旅(六)
  • 【转载】一位大学老师写给即将毕业的大学生的100条忠告
  • GPON故障总结(四)
  • Css Hack
  • windows7下Windows Live Messenger 托盘问题
  • 图解Windows xp—FTP服务器配置
  • [经验总结] 关于单元测试
  • 我的OSPF学习笔记
  • 软件项目经理应有的能力和素质
  • 动态创建GridView的列(第二部分)
  • visual studio数据集dataset.xsd文件使用
  • 【刷算法】求1+2+3+...+n
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 11111111
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Java深入 - 深入理解Java集合
  • node.js
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 程序员该如何有效的找工作?
  • 初探 Vue 生命周期和钩子函数
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 使用 Docker 部署 Spring Boot项目
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 一道闭包题引发的思考
  • 赢得Docker挑战最佳实践
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​比特币大跌的 2 个原因
  • ​你们这样子,耽误我的工作进度怎么办?
  • #etcd#安装时出错
  • #git 撤消对文件的更改
  • #ifdef 的技巧用法
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #NOIP 2014# day.2 T2 寻找道路
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (26)4.7 字符函数和字符串函数
  • (6)设计一个TimeMap
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (一)UDP基本编程步骤
  • (转)关于pipe()的详细解析
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别