吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

i.MXRT1170上串行NOR Flash雙程序可交替啟動(dòng)設(shè)計(jì)

痞子衡嵌入式 ? 來源:痞子衡嵌入式 ? 作者:痞子衡 ? 2022-04-29 15:23 ? 次閱讀

大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是i.MXRT1170上串行NOR Flash雙程序可交替啟動(dòng)設(shè)計(jì)

在上一篇文章 《i.MXRT1060/1010上串行NOR Flash冗余程序啟動(dòng)設(shè)計(jì)》 里,痞子衡詳細(xì)介紹了 i.MXRT10xx 上的冗余程序啟動(dòng)設(shè)計(jì),本質(zhì)上這就是個(gè)雙備份程序啟動(dòng), NOR Flash 里存兩份一樣的 image,物理地址靠前的 image 0 啟動(dòng)失效就繼續(xù)啟動(dòng)后面的 image 1,多一層保障。

i.MXRT1170 是區(qū)別于 i.MXRT10xx 的第二代架構(gòu),性能/功能更加強(qiáng)大,其在繼承 i.MXRT10xx 冗余程序啟動(dòng)的基礎(chǔ)上,新增了雙程序可交替啟動(dòng)設(shè)計(jì),今天我們就來聊聊這個(gè)話題

一、初識(shí)雙程序可交替啟動(dòng)

與 i.MXRT10xx 一樣,這里要聊的還是在一片掛載在 FlexSPI 上的串行 NOR Flash 里做冗余/雙程序設(shè)計(jì),就是下圖中的 image L 和 image H,不涉及 LPSPI 接口 Flash B 里的 image 2。

6f018924-c78b-11ec-bce3-dac502259ad0.png

先說跟 i.MXRT10xx 上一樣的冗余程序啟動(dòng)流程,i.MXRT1170 上電先啟動(dòng)物理地址靠前的 image L,如果 image L 被破壞了,則繼續(xù)啟動(dòng) image H。

什么是雙程序可交替啟動(dòng)呢?簡(jiǎn)單說就是物理地址靠前的 image L 并不總是上電首先啟動(dòng)的 image,在 i.MXRT1170 上新增了如下原型的 image version 啟動(dòng)頭(在固定偏移 0x600 處),芯片上電 BootROM 會(huì)嘗試判斷兩個(gè) image L/H 里的 version 頭版本,高版本的 image 優(yōu)先被啟動(dòng)。這種設(shè)計(jì)方便了 OTA 升級(jí)。

  • Note: 當(dāng) image L/H 中均不含有效 version 啟動(dòng)頭時(shí)(img_ver 等于 0xFFFFFFFF,或者高低16bit不符合取反關(guān)系),雙程序可交替啟動(dòng)特性就不生效,此時(shí)等效于冗余程序啟動(dòng),image L 永遠(yuǎn)被優(yōu)先啟動(dòng)。
typedefstruct
{
uint16_tversion;//版本值
uint16_tinversion;//version值的取反(~version)
}img_ver_t;
6f178b48-c78b-11ec-bce3-dac502259ad0.png

二、回顧冗余程序啟動(dòng)

在測(cè)試雙程序可交替啟動(dòng)新特性之前,還是先過一下冗余程序啟動(dòng)。按照文章 《i.MXRT1060/1010上串行NOR Flash冗余程序啟動(dòng)設(shè)計(jì)》 第 2 節(jié)里一模一樣的方法,在恩智浦官方 MIMXRT1170-EVK 開發(fā)板上做測(cè)試,這個(gè)板子 FlexSPI1 上掛了兩片 Flash,默認(rèn)連接的 16MB QuadSPI Flash,還有一片 64MB OctalFlash(需要做板子改動(dòng)才能使能)。

在 i.MXRT1170 fuse 里關(guān)于冗余程序啟動(dòng)的使能位定義與 i.MXRT10xx 上差不多,只不過 fuse 地址從 0x6E0 換到了 0xC80。還是跟之前測(cè)試一樣借助 MCUBootUtility 工具將 FLEXSPI_NOR_SEC_IMAGE_OFFSET 燒錄為 0x10,xSPI_FLASH_IMAGE_SIZE 保持默認(rèn) 0,即第二份 image 偏移地址在 Flash 0x400000(4MB)處,最大 image 長(zhǎng)度也是 4MB。

6f2ca0dc-c78b-11ec-bce3-dac502259ad0.png

繼續(xù)用 SDK_2.11.0_MIMXRT1170-EVKoardsevkmimxrt1170demo_appsled_blinkycm7iarflexspi_nor_debug 例程生成兩個(gè)稍微不一樣的 image,閃燈間隔時(shí)間一個(gè)是 200ms(image L - iled_blinky_cm7_delay200ms.bin),另一個(gè)是 2s(image H - iled_blinky_cm7_delay2s.bin)。在 MCUBootUtility 工具主界面下使用 All-In-One 操作將 image L 下載進(jìn) Flash(base address 設(shè)為 0x30000400),使用通用編程器界面 Write 操作將 image H 也下載進(jìn) Flash(Start 設(shè)為 0x400400)。

現(xiàn)在 Flash 里有了兩份 image,當(dāng)?shù)谝环?image 啟動(dòng)失敗后,i.MXRT1170 BootROM 不是立刻去執(zhí)行下一份 image ,還是那個(gè)取巧的方法,在一個(gè)軟復(fù)位不置位的寄存器里(SRC_GPR10)標(biāo)記當(dāng)前狀態(tài),然后調(diào)用 NVIC_SystemReset() 重新進(jìn)入 BootROM 執(zhí)行。不過此時(shí)標(biāo)記位從 GPR10[30] 換到了 GPR10[27:26],雖然是 2bit 狀態(tài),但設(shè)值 1/2/3 等效于設(shè)值 1,因?yàn)閷?duì)于串行 NOR Flash 最多就是兩份 image。這時(shí)候如果你想掛 J-Link 改寫 SRC_GPR10 去做快速驗(yàn)證恐怕無法如愿,因?yàn)?《i.MXRT1170上用J-Link連接復(fù)位后PC總是停在0x223104》

6f53f858-c78b-11ec-bce3-dac502259ad0.png

所以在 i.MXRT1170 上只能老老實(shí)實(shí)做破壞 image 完整性的動(dòng)作來驗(yàn)證冗余程序啟動(dòng),經(jīng)實(shí)測(cè)其效果與 i.MXRT10xx 是完全一致的。

三、實(shí)測(cè)雙程序可交替啟動(dòng)

現(xiàn)在我們開始實(shí)測(cè)雙程序可交替啟動(dòng),主要的工作量就是為 image L 和 image H 添加 version 啟動(dòng)頭,并且將它們分別下載進(jìn) Flash。因?yàn)槲覀兿腧?yàn)證物理地址靠后的 image H 比 image L 優(yōu)先啟動(dòng)(冗余程序啟動(dòng)做不到這點(diǎn)),所以需要將 image H 的 version 頭版本設(shè)高一點(diǎn)。

3.1 為 image 添加 version 啟動(dòng)頭

還是在 SDK_2.11.0_MIMXRT1170-EVKoardsevkmimxrt1170demo_appsled_blinkycm7iarflexspi_nor_debug 例程基礎(chǔ)上,首先在工程鏈接文件 MIMXRT1176xxxxx_cm7_flexspi_nor.icf 添加如下語句,指定 .img_ver 段的位置。

define symbol m_boot_img_ver_start           = 0x30000600;
place at address mem: m_boot_img_ver_start { section .img_ver };

然后在工程隨便一個(gè)源文件里添加如下常量 s_bt_img_l_ver 定義,這個(gè) image 閃燈間隔時(shí)間是 200ms(image L - iled_blinky_cm7_delay200ms_ver0.bin),版本是 0x0000(注意編譯鏈接工程時(shí)為防止 s_bt_img_l_ver 被優(yōu)化,可以在工程選項(xiàng) Linker / Input / Keep symbols 里將其添加進(jìn)去)。

constimg_ver_ts_bt_img_l_ver@".img_ver"={
.version=0x0000,
.inversion=~0x0000,
};

同樣的工程,再生成另一個(gè)閃燈間隔時(shí)間為 2s(image H - iled_blinky_cm7_delay2s_ver1.bin) 的 image 時(shí)使用如下常量 s_bt_img_h_ver 定義,版本是 0x0001。

constimg_ver_ts_bt_img_h_ver@".img_ver"={
.version=0x0001,
.inversion=~0x0001,
};

當(dāng)然如果你嫌上述方法繁瑣,也可以直接在最終 image binary 文件上做修改(注意 offset 位置一定要找對(duì),i.MXRT1170 SDK XIP binary 文件起始數(shù)據(jù)對(duì)應(yīng) Flash 偏移是 0x400,因此文件中 0x200 處才對(duì)應(yīng) Flash 偏移 0x600):

6f7b7a86-c78b-11ec-bce3-dac502259ad0.png

3.2 下載含 version 頭的 image 進(jìn) Flash

現(xiàn)在需要借助 MCUBootUtility 工具的通用編程器功能分別將兩個(gè)含 version 頭的 image L/H 下載進(jìn) Flash。這里需要注意的是此時(shí) image L 無法再通過主界面 All-In-One 操作來下載了,因?yàn)楣ぞ?v3.4 版本及以下沒有對(duì) version 啟動(dòng)頭做識(shí)別處理,因此會(huì)丟掉 version 頭數(shù)據(jù)(這個(gè)考慮會(huì)在 v4.0 之后加入支持)。

6f9d9814-c78b-11ec-bce3-dac502259ad0.png6fc14cd2-c78b-11ec-bce3-dac502259ad0.png

兩個(gè) image 下載完成,一切工作就結(jié)束了,這時(shí)候你調(diào)整芯片啟動(dòng)模式到 2'b10 - Flash boot,給板卡重新上電,應(yīng)該可以看到 image H 正在執(zhí)行。

3.3 BootROM中判斷version的邏輯

BootROM 中關(guān)于 version 啟動(dòng)頭是否有效以及版本高低判斷邏輯其實(shí)是有一點(diǎn)復(fù)雜的,這里把具體代碼分享給大家,方便大家為 image 設(shè)置有效的 version 頭以及正確使能這個(gè)雙程序可交替啟動(dòng)特性。

判斷邏輯代碼主要意思是僅當(dāng) image L 的版本不是 0xFFFFFFFF 且 image H 的版本是有效的(img_ver 高低16bit符合取反關(guān)系)情況下,如果 image L 版本無效或者 image L 版本有效但比 image H 版本低,則物理地址靠后的 image H 優(yōu)先啟動(dòng)。除此以外其余情況,一律是物理地址靠前的 image L 優(yōu)先啟動(dòng)。

uint32_timage_l_base=FlexSPIx_AMBA_BASE
uint32_timage_h_base=FlexSPIx_AMBA_BASE+FLEXSPI_NOR_SEC_IMAGE_OFFSET

uint32_tget_image_index(void)
{
uint32_tredundant_boot=((SRC->GPR[9]&0x0C000000)>>26);

staticuint32_timage_index[]={0,0};
img_ver_timage_l_version=*(img_ver_t*)(image_l_base+0x600);
img_ver_timage_h_version=*(img_ver_t*)(image_h_base+0x600);
if((image_l_version.version!=0xFFFFu||image_l_version.inversion!=0xFFFFu)&&
((0xFFFFu&image_h_version.version)==(0xFFFFu^image_h_version.inversion))&&
((0xFFFFu&image_l_version.version)!=(0xFFFFu^image_l_version.inversion)||(image_l_version.version0]=1;
}
else
{
image_index[1]=1;
}

returnimage_index[redundant_boot];
}

痞子衡在 MIMXRT1170-EVK 開發(fā)板上對(duì)image 版本設(shè)置情況也做了比較全面的實(shí)測(cè),測(cè)試結(jié)果如下:

image L 版本值 image H 版本值 啟動(dòng)結(jié)果
0xFFFFFFFF 任意值
(實(shí)測(cè)了0xFFFFFFFF, 0xFFFFAA55, 0xFFFF0000)
先啟動(dòng) image L
失敗再啟動(dòng) image H
任意值
(實(shí)測(cè)了0xFFFFAA55, 0xFFFF0000)
0xFFFFAA55
(或其他無效版本值包括全0xFFs)
先啟動(dòng) image L
失敗再啟動(dòng) image H
0xFFFFAA55
(或其他非全0xFFs無效版本值)
0xFFFF0000
(或其他任意有效版本值)
先啟動(dòng) image H
失敗再啟動(dòng) image L
0xFFFF0000 0xFFFE0001
(或其他高于0x0的有效版本值)
先啟動(dòng) image H
失敗再啟動(dòng) image L
0xFFFE0001 0xFFFE0001或0xFFFF0000 先啟動(dòng) image L
失敗再啟動(dòng) image H

四、一些關(guān)于 image 的注意事項(xiàng)

  • Note1: 雖然文中所有的測(cè)試均是針對(duì) XIP image,但這個(gè)冗余程序/雙程序可交替啟動(dòng)特性對(duì)于 Non-XIP image 也同樣適用。
  • Note2: 如果是 XIP image,其鏈接地址不一定要固定在偏移 0x2000 處,因?yàn)?IVT 的存在,其是可以鏈接在偏移 0x2000 之后的任意位置的。
  • Note3: 如果是 Non-XIP image,在 SDK 包里無法直接生成含啟動(dòng)頭的 Non-XIP image binary,這時(shí)候可以先使用 MCUBootUtility 主界面的 All-In-One 操作下載一次 image,再通過通用編程器界面 Read 操作讀回來便是含啟動(dòng)頭的 Non-XIP image binary。

至此,i.MXRT1170上串行NOR Flash雙程序可交替啟動(dòng)設(shè)計(jì)痞子衡便介紹完畢了,掌聲在哪里~~~

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3795

    瀏覽量

    81406
  • OTA
    OTA
    +關(guān)注

    關(guān)注

    7

    文章

    587

    瀏覽量

    35389
  • NOR flash
    +關(guān)注

    關(guān)注

    2

    文章

    91

    瀏覽量

    23066

原文標(biāo)題:什么是i.MXRT11xx上的串行NOR Flash雙程序可交替啟動(dòng)?

文章出處:【微信號(hào):pzh_mcu,微信公眾號(hào):痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    羅徹斯特電子為傳統(tǒng)應(yīng)用提供卓越的內(nèi)存支持 為并行NOR Flash提供持續(xù)供貨支持

    為并行NOR Flash提供持續(xù)供貨支持 憑借羅徹斯特電子的生產(chǎn)能力,能夠持續(xù)供應(yīng)并行NOR Flash。不論是傳統(tǒng)還是成熟產(chǎn)品對(duì)于此類產(chǎn)品都有持續(xù)需求。通過戰(zhàn)略性安排,羅徹斯特電子購(gòu)
    發(fā)表于 12-17 10:33 ?116次閱讀

    基于NXP MCXA153 MCU實(shí)現(xiàn)RT-Thread的MTD NOR Flash驅(qū)動(dòng)

    在嵌入式系統(tǒng)中,片Flash存儲(chǔ)器是一個(gè)關(guān)鍵組件,用于存儲(chǔ)程序代碼和關(guān)鍵數(shù)據(jù)。本文將詳細(xì)介紹如何在NXPMCXA153 MCU實(shí)現(xiàn)RT-Thread的MTD (Memory Tec
    的頭像 發(fā)表于 11-09 14:00 ?635次閱讀
    基于NXP MCXA153 MCU實(shí)現(xiàn)RT-Thread的MTD <b class='flag-5'>NOR</b> <b class='flag-5'>Flash</b>驅(qū)動(dòng)

    物聯(lián)網(wǎng)行業(yè)存儲(chǔ)方案詳解_SPI NOR Flash

    SPI NOR FLASH存儲(chǔ)器在初始響應(yīng)和啟動(dòng)時(shí)提供高可靠性,并具有低時(shí)延。這一特性對(duì)于物聯(lián)網(wǎng)設(shè)備至關(guān)重要,因?yàn)槲锫?lián)網(wǎng)設(shè)備通常需要快速啟動(dòng)并穩(wěn)定運(yùn)行,以確保數(shù)據(jù)的實(shí)時(shí)傳輸和處理。
    的頭像 發(fā)表于 09-24 14:39 ?405次閱讀
    物聯(lián)網(wǎng)行業(yè)存儲(chǔ)方案詳解_SPI <b class='flag-5'>NOR</b> <b class='flag-5'>Flash</b>

    恩智浦i.MX RT1170 uSDHC eMMC啟動(dòng)時(shí)間

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1170 uSDHC eMMC啟動(dòng)時(shí)間。
    的頭像 發(fā)表于 08-08 15:32 ?674次閱讀
    恩智浦<b class='flag-5'>i</b>.MX RT<b class='flag-5'>1170</b> uSDHC eMMC<b class='flag-5'>啟動(dòng)</b>時(shí)間

    不同J-Link版本對(duì)于i.MXRT1170連接復(fù)位后處理行為

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是不同J-Link版本對(duì)于i.MXRT1170連接復(fù)位后處理行為。
    的頭像 發(fā)表于 08-08 15:29 ?507次閱讀
    不同J-Link版本對(duì)于<b class='flag-5'>i.MXRT1170</b>連接復(fù)位后處理行為

    MCUXpresso IDE下在線聯(lián)合調(diào)試雙核MCU工程的三種方法

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線聯(lián)合調(diào)試i.MXRT1170雙核工程的三種方法。
    的頭像 發(fā)表于 08-08 15:18 ?665次閱讀
    MCUXpresso IDE下在線聯(lián)合調(diào)試雙核MCU工程的三種方法

    NAND FlashNOR Flash哪個(gè)更好

    在討論NAND FlashNOR Flash哪個(gè)更好時(shí),我們需要從多個(gè)維度進(jìn)行深入分析,包括它們的技術(shù)特性、應(yīng)用場(chǎng)景、成本效益以及未來發(fā)展趨勢(shì)等。
    的頭像 發(fā)表于 07-29 16:59 ?1759次閱讀

    NAND FlashNOR Flash:壞塊管理需求的差異解析

    NOR Flash和NAND Flash是兩種不同類型的閃存技術(shù),它們?cè)诖鎯?chǔ)單元的連接方式、耐用性、壞塊管理等方面存在差異。
    的頭像 發(fā)表于 07-10 14:25 ?2365次閱讀
    NAND <b class='flag-5'>Flash</b>與<b class='flag-5'>NOR</b> <b class='flag-5'>Flash</b>:壞塊管理需求的差異解析

    盤古1k flash 啟動(dòng)

    PGC1KG-LPG100為CPLD,上次我使用在線燒寫bit的方式跑了第一個(gè)點(diǎn)燈程序,今天我們來生成一個(gè)flash啟動(dòng)的bit,讓程序
    發(fā)表于 06-30 23:54

    ESP32 PICO如何使用外部的flash下載和啟動(dòng)程序呢?

    大家好: 我現(xiàn)在的板子,主芯片是ESP32 PICO D4,集成了4MB的FLASH,現(xiàn)在板子上接了另外一顆flash芯片,除了CS#管腳與內(nèi)部的flash不同,內(nèi)部的接的GPIO1
    發(fā)表于 06-25 08:23

    聚辰半導(dǎo)體推出超小尺寸NOR Flash芯片

    近日,聚辰半導(dǎo)體發(fā)布重大技術(shù)突破,成功推出基于第二代NORD先進(jìn)工藝平臺(tái)的NOR Flash低容量系列芯片。這款芯片在業(yè)界中擁有最小尺寸,不僅實(shí)現(xiàn)了高可靠性,更在芯片尺寸實(shí)現(xiàn)了顯著節(jié)省,從而降低了材料成本。
    的頭像 發(fā)表于 05-27 11:00 ?1098次閱讀

    i.MXRT1xxx系列上用NAND型啟動(dòng)設(shè)備時(shí)可用兩級(jí)設(shè)計(jì)縮短啟動(dòng)時(shí)間

    去年痞子衡寫過一篇騷操作文章 《借助i.MXRT10xx系列INIT_VTOR功能可以縮短程序熱重啟時(shí)間》,這對(duì)于 NAND 型啟動(dòng)設(shè)備程序
    的頭像 發(fā)表于 05-01 09:19 ?829次閱讀
    在<b class='flag-5'>i.MXRT</b>1xxx系列上用NAND型<b class='flag-5'>啟動(dòng)</b>設(shè)備時(shí)可用兩級(jí)設(shè)計(jì)縮短<b class='flag-5'>啟動(dòng)</b>時(shí)間

    Flash存儲(chǔ)芯片:NOR Flash、NAND Flash、UFS和eMMC的比較與解析

      NOR Flash是可編程存儲(chǔ)器的一種,因其具有直接運(yùn)行應(yīng)用程序的能力而廣受歡迎,由于存儲(chǔ)容量較小,一般只有幾MB~幾十MB,因此適合存儲(chǔ)較小的程序和數(shù)據(jù)。由于其讀取速度快且可靠
    發(fā)表于 04-03 12:05

    Flash存儲(chǔ)芯片:NOR Flash、NAND Flash、UFS和eMMC的比較與解析

    博客將詳細(xì)介紹Flash存儲(chǔ)芯片中的NOR Flash、NAND Flash、UFS和eMMC,分析它們的用途、優(yōu)缺點(diǎn),并對(duì)其進(jìn)行比較。 1.Nor
    的頭像 發(fā)表于 04-03 12:02 ?4715次閱讀
    <b class='flag-5'>Flash</b>存儲(chǔ)芯片:<b class='flag-5'>NOR</b> <b class='flag-5'>Flash</b>、NAND <b class='flag-5'>Flash</b>、UFS和eMMC的比較與解析

    NOR FLASH的結(jié)構(gòu)和特性及原理圖

    與NAND Flash相比,NOR Flash具有較低的存儲(chǔ)密度和較高的成本,但具有較快的讀取速度、較低的讀取延遲和較好的隨機(jī)訪問性能。
    的頭像 發(fā)表于 02-19 11:45 ?4126次閱讀
    <b class='flag-5'>NOR</b> <b class='flag-5'>FLASH</b>的結(jié)構(gòu)和特性及原理圖
    大发8888备用网址| 大发888 备用6222.com| 百家乐体育直播| 二代百家乐官网破解| 乌审旗| 太阳城娱乐城88| 金榜百家乐的玩法技巧和规则 | 百家乐官网偷吗| 山东省| 娱乐城在线| 赌神网百家乐的玩法技巧和规则 | 威尼斯人娱乐平台反水| 澳门百家乐送彩金| 刀把状的房子做生意| 百家乐官网百博亚洲| 太阳城百家乐官网祖玛| 国际百家乐官网规则| bet365在线体育投注| 大发888赢钱技巧| 马尼拉百家乐的玩法技巧和规则| 百家乐平注法技巧| 百家乐投注法则| 丽都百家乐官网的玩法技巧和规则| 皇冠百家乐官网代理网址| 真人百家乐网西陆| 百家乐官网麻将筹码币镭射贴膜| 百家乐官网有没有单机版的| 百家乐官网金海岸软件| 百家乐官网游戏策略| 祁连县| 和记娱乐城| bet365直播| 大发888线上娱乐城二十一点 | 单机百家乐棋牌| 百家乐游戏玩法技巧| 百家乐是否有路子| 百家乐高手qq| 阴宅24层手机罗盘| 百家乐官网单注打| 百家乐官网游戏什么时间容易出| 状元百家乐官网的玩法技巧和规则 |