Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    Gaviar Handheld (小志掌機)

    爱搞机专区
    21
    134
    89056
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Y
      yofa2008 LV 5 last edited by

      【碟】照来了,丑了点。但功能验证应该够用了。没有司徒 大佬的加藤鹰手法,右边的接口焊接失败了,。@steward
      LTS241QV-F08.png
      我要尽快跟上你的节奏了@lovehex99

      xiaowenge L 2 Replies Last reply Reply Quote Share 1
      • xiaowenge
        DOT小文哥 LV 8 @yofa2008 last edited by

        @yofa2008 在 Gaviar Handheld (小志掌機) 中说:

        【碟】照来了,丑了点。但功能验证应该够用了。没有司徒 大佬的加藤鹰手法,右边的接口焊接失败了,。

        你这个看着像个黑莓手机,上面一个屏幕,下面好多按键

        Y 1 Reply Last reply Reply Quote Share 0
        • whycan
          whycan晕哥 LV 9 @yofa2008 last edited by

          @yofa2008 在 Gaviar Handheld (小志掌機) 中说:

          第二版更新的电机请问是使用了哪几个GPIO

          MO0 ==> PB7
          MO1 ==> PB6

          1 Reply Last reply Reply Quote Share 1
          • L
            lovehex99 LV 5 @yofa2008 last edited by

            @yofa2008 你自己打版喔 厲害

            Y 1 Reply Last reply Reply Quote Share 0
            • L
              lovehex99 LV 5 @steward last edited by

              @steward 在 Gaviar Handheld (小志掌機) 中说:

              編譯步驟

              換了16G
              root@TinaLinux:/etc# mount /dev/mmcblk0p8 /mnt/UDISK/
              mount /dev/mmcblk0p8 /mnt/UDISK/
              mount: mounting /dev/mmcblk0p8 on /mnt/UDISK/ failed: Input/output error
              只有沒對 /dev/sdb8 進行擴充

              但UART還是開不起來
              我編譯步驟是照這個帖子的
              Starting kernel ...

              [02.156][mmc]: MMC Device 2 not found
              [02.160][mmc]: mmc 2 not find, so not exit

              steward 1 Reply Last reply Reply Quote Share 0
              • steward
                司徒 LV 6 @lovehex99 last edited by

                @lovehex99

                兩個問題問一下:

                1. 你是如何燒錄檔案到 MicroSD ?
                2. 因為預設是使用 adb shell 進入操作(USB Type-C), 你有使用 adb shell 試試嗎?
                L 1 Reply Last reply Reply Quote Share 0
                • Y
                  yofa2008 LV 5 @lovehex99 last edited by

                  @lovehex99 你没打板如何 搭硬件环境的?是有现成的板子买吗?
                  @xiaowenge 都是想尽可能匹配‘小志’的硬件外设,布局按键在CAD里转来转去花了些时间。哈哈

                  W L 2 Replies Last reply Reply Quote Share 1
                  • W
                    whycanservice2 LV 8 @yofa2008 last edited by

                    @yofa2008 厉害厉害。。怎么用CAD的?

                    1 Reply Last reply Reply Quote Share 0
                    • L
                      lovehex99 LV 5 @yofa2008 last edited by

                      @yofa2008 買的喔

                      J 1 Reply Last reply Reply Quote Share 0
                      • L
                        lovehex99 LV 5 @steward last edited by

                        @steward 在 Gaviar Handheld (小志掌機) 中说:

                        @lovehex99

                        兩個問題問一下:

                        1. 你是如何燒錄檔案到 MicroSD ?
                        2. 因為預設是使用 adb shell 進入操作(USB Type-C), 你有使用 adb shell 試試嗎?

                        1.用PhoenixCardv4.2.7.7z
                        2.有的 ADB SHELL可以操作

                        steward Y 2 Replies Last reply Reply Quote Share 0
                        • steward
                          司徒 LV 6 @lovehex99 last edited by

                          @lovehex99

                          解開後, 使用 dd 命令燒錄到 MicroSD 卡後, 插入開機, 就會開始播放 Nokia 手機鈴聲~

                          1 Reply Last reply Reply Quote Share 0
                          • Y
                            yofa2008 LV 5 @lovehex99 last edited by yofa2008

                            @lovehex99 在 Gaviar Handheld (小志掌機) 中说:

                            @steward 在 Gaviar Handheld (小志掌機) 中说:

                            @lovehex99

                            兩個問題問一下:

                            1. 你是如何燒錄檔案到 MicroSD ?
                            2. 因為預設是使用 adb shell 進入操作(USB Type-C), 你有使用 adb shell 試試嗎?

                            1.用PhoenixCardv4.2.7.7z
                            2.有的 ADB SHELL可以操作

                            @steward 请问提示Is not Boot mode!是什么意思?我只写了uart4的那个img,没有在adb下找到devices哦

                            by the way.重新烧写了一下img解决,work type选择start up.
                            bootupok.png

                            Y 1 Reply Last reply Reply Quote Share 1
                            • Y
                              yofa2008 LV 5 @yofa2008 last edited by

                              播放wav文件,拷贝了一个windows自带的wav.
                              playWAVok.png

                              1 Reply Last reply Reply Quote Share 1
                              • Y
                                yofa2008 LV 5 @lovehex99 last edited by yofa2008

                                @lovehex99 @steward
                                今天测试了一张256MB的卡,能正常播放wav。UART4也可正常交互
                                256Mplaywav.png

                                L 1 Reply Last reply Reply Quote Share 1
                                • L
                                  lovehex99 LV 5 @yofa2008 last edited by

                                  @yofa2008
                                  你是直接燒司徒給的那個img吧?
                                  我是從github下載自己編譯的

                                  Y 2 Replies Last reply Reply Quote Share 0
                                  • Y
                                    yofa2008 LV 5 @lovehex99 last edited by

                                    @lovehex99 对的。建议您也先排除简单的问题,再上手改比较容易。

                                    L 1 Reply Last reply Reply Quote Share 0
                                    • L
                                      lovehex99 LV 5 @yofa2008 last edited by

                                      @yofa2008 我硬件是用買的 所以應該沒問題
                                      最近也忙 等後續教程多點再來玩

                                      1 Reply Last reply Reply Quote Share 0
                                      • steward
                                        司徒 LV 6 last edited by

                                        最近在幫 Miyoo Mini/Miyoo Mini Plus 移植 drastic NDS 模擬器, 目前已經快完善了, 這邊先晚一點更新 ~

                                        Y 1 Reply Last reply Reply Quote Share 0
                                        • Y
                                          yofa2008 LV 5 @steward last edited by

                                          @steward 许久没见大佬跟贴,猜测一定是在忙大事。目前我遇到了诡异的问题:为何用dd的命令复制到TF卡的img不写入,而phoenix写的img就能写入。是dd命令的问题??
                                          见图Screenshot from 2023-09-12 05-03-05.png

                                          A 1 Reply Last reply Reply Quote Share 0
                                          • A
                                            awwwwa LV 8 @yofa2008 last edited by

                                            @yofa2008 img不是磁盘镜像文件,是专有的压缩格式,不带分区表。可以用OpenixCard转换为dd可以写入的带分区表的镜像

                                            Y 1 Reply Last reply Reply Quote Share 0
                                            • Y
                                              yofa2008 LV 5 @awwwwa last edited by

                                              @awwwwa 啊,原来这样。感谢告知,司徒大佬在帖里提了一下,没说细节。有空我试一下了

                                              1 Reply Last reply Reply Quote Share 0
                                              • Y
                                                yofa2008 LV 5 @xiaowenge last edited by

                                                @xiaowenge 三明治结构的全键盘工程机来了,准备就绪。就等司徒大佬回来传授一下如何替换屏驱动开机了@steward,linux开发不会搞,跟大神学会
                                                图:sandwiches.png

                                                J 1 Reply Last reply Reply Quote Share 0
                                                • Y
                                                  yofa2008 LV 5 @steward last edited by

                                                  @steward 在 Gaviar Handheld (小志掌機) 中说:

                                                  司徒接下來介紹點屏的步驟,而在點屏之前,我們需要先了解一下屏的一些特性,這樣才可以跑順後面的開發,一般常說的 8080 屏、i80 屏、MCU 屏,指的就是傳輸資料的方式是使用 Intel 8080 的讀寫方式,其實早期是有兩大派別,分別是 Intel 8080 和 Motorola 6800,至於為何後來都用 Intel 8080,這應該不用多說,8080 和 6800 的格式可以從下圖知曉
                                                  1.jpg
                                                   
                                                  那為何 i80 屏需要做初始化呢 ?因為裡面有專門用來做顯示處理的 MCU,因此,需要設定一些參數,如:width=320, height=240, fps=60 等參數,所以傳送給屏的資料會分成 Data 和 Command,當然,有些特殊制定規格的屏就不須要初始化,因為參數都已經寫死並且固定在 MCU 裡,不過,市面上比較難購買到這類產品
                                                  2.jpg
                                                  MCU 在顯示圖像時,會固定從 RAM(或稱呼:顯示記憶體、Graphic RAM、GRAM)讀取資料並顯示在屏上面
                                                   
                                                  那該如何初始化呢?目前市面上的屏大約可以分成兩種作法:1. 使用 DB0~DB15 傳送初始化 Data 和 Command, 2. 使用 I2C 傳送 Data 和 Command
                                                  3.jpg
                                                  兩種方式都可以達到初始化的目的,因此,在購買 i80 屏後,記得跟賣家索取初始化命令
                                                   
                                                  那問題來了,當我們正在刷屏(寫入 RAM)時,MCU 是否有可能正在讀取 RAM ?答案:沒錯,這種狀況一定會發生,假如寫入跟讀取沒有一個同步機制,那就會發生這種狀況,而這種狀況就是一般俗稱:撕裂、閃屏、Screen Tearing,司徒畫了一張流程圖,下圖是 MCU 讀取 RAM 並且顯示在屏上的流程
                                                  4.jpg
                                                   
                                                  當 F133 透過 TCON_LCD i80 介面傳送資料給屏時(黃色的像素),由於共用同一塊 RAM,因此,RAM 的內容被更新成黃色,同時,屏的 MCU 也正在更新圖像到屏上,因此,變成第一個畫面(紅色)和第二個畫面(黃色)的交疊狀況,如下圖
                                                  5.jpg
                                                   
                                                  那 i80 屏的撕裂問題如何解決呢?其實,一般 i80 屏都會拉出 TE/FRAME 腳位,這個腳位一般不使用,因為它跟時序高度相關,需要同步處理,同常 TE/FRAME 腳位都會懸空,不過,TE/FRAME 腳位其實是用來告知屏的 MCU 是否正在更新圖像(讀取 RAM),因此,為了避免撕裂,F133 TCON_LCD 可以在 MCU 空閒時,傳送更新的資料,這樣就可以避免撕裂
                                                  6.jpg
                                                   
                                                  那是不是搞定 TE/FRAME 腳位後,屏就不會撕裂?答案:不是,因為,從模擬器、顯示驅動到硬件傳送都可能會有撕裂問題,所以要確保顯示品質,任何經過的地方都必須仔細處理才可以保證畫面不撕裂
                                                  7.jpg
                                                   
                                                  根據司徒的經驗,在不同地方的所造成的撕裂,將會有不一樣的結果,下圖是司徒整理的有趣現象,模擬器因為是像素更新居多,因此,覆蓋一般是從起始像素開始,所以撕裂比較像是上下分層,而顯示驅動一般使用區塊複製,因此,撕裂是屬於左右分層,屏的撕裂,由於更新跟寫入是屬於追跑的現象,因此,撕裂屬於三角分層
                                                  8.jpg
                                                   
                                                  LCD 電路
                                                  9.jpg
                                                  10.jpg
                                                   
                                                  main.s

                                                      .global _start
                                                   
                                                      .equ GPIO_BASE,  0x02000000
                                                      .equ PD_CFG0,    0x0090
                                                      .equ PD_CFG1,    0x0094
                                                      .equ PD_CFG2,    0x0098
                                                      .equ PD_DAT,     0x00a0
                                                   
                                                      .equ LCD_RST,    (1 << 0)
                                                      .equ LCD_WR,     (1 << 18)
                                                      .equ LCD_RS,     (1 << 19)
                                                      .equ LCD_RD,     (1 << 20)
                                                      .equ LCD_CS,     (1 << 21)
                                                      .equ LCD_BL,     (1 << 22)
                                                   
                                                      .equ _250MS,     50000000
                                                      .equ _500MS,     100000000
                                                      .equ _1S,        200000000
                                                   
                                                      .text
                                                      .long 0x4000006f
                                                      .byte 'e','G','O','N','.','B','T','0'
                                                      .long 0x5F0A6C39
                                                      .long 0x8000
                                                      .long 0, 0
                                                      .long 0, 0, 0, 0, 0, 0, 0, 0
                                                      .long 0, 0, 0, 0, 0, 0, 0, 0
                                                     
                                                      .org 0x0400
                                                  _start:
                                                      li t0, 0x11111111
                                                      li a0, GPIO_BASE + PD_CFG0
                                                      sw t0, 0(a0)
                                                      li a0, GPIO_BASE + PD_CFG1
                                                      sw t0, 0(a0)
                                                      li a0, GPIO_BASE + PD_CFG2
                                                      sw t0, 0(a0)
                                                   
                                                      li t0, 0xffffffff
                                                      li a0, GPIO_BASE + PD_DAT
                                                      sw t0, 0(a0)
                                                   
                                                      jal lcd_rst
                                                   
                                                      li t0, 0xb2
                                                      jal lcd_cmd
                                                      li t0, 0x5c
                                                      jal lcd_dat
                                                      li t0, 0x5c
                                                      jal lcd_dat
                                                      li t0, 0x00
                                                      jal lcd_dat
                                                      li t0, 0x33
                                                      jal lcd_dat
                                                      li t0, 0x33
                                                      jal lcd_dat
                                                       
                                                      li t0, 0xb7
                                                      jal lcd_cmd
                                                      li t0, 0x35
                                                      jal lcd_dat
                                                       
                                                      li t0, 0x21
                                                      jal lcd_cmd
                                                       
                                                      li t0, 0x11
                                                      jal lcd_cmd
                                                   
                                                      li t0, _250MS
                                                      jal delay
                                                   
                                                      li t0, 0xe0
                                                      jal lcd_cmd
                                                      li t0, 0xd0
                                                      jal lcd_dat
                                                      li t0, 0x06
                                                      jal lcd_dat
                                                      li t0, 0x0b
                                                      jal lcd_dat
                                                      li t0, 0x07
                                                      jal lcd_dat
                                                      li t0, 0x07
                                                      jal lcd_dat
                                                      li t0, 0x24
                                                      jal lcd_dat
                                                      li t0, 0x2e
                                                      jal lcd_dat
                                                      li t0, 0x32
                                                      jal lcd_dat
                                                      li t0, 0x46
                                                      jal lcd_dat
                                                      li t0, 0x37
                                                      jal lcd_dat
                                                      li t0, 0x13
                                                      jal lcd_dat
                                                      li t0, 0x13
                                                      jal lcd_dat
                                                      li t0, 0x2d
                                                      jal lcd_dat
                                                      li t0, 0x33
                                                      jal lcd_dat
                                                       
                                                      li t0, 0xe1
                                                      jal lcd_cmd
                                                      li t0, 0xd0
                                                      jal lcd_dat
                                                      li t0, 0x02
                                                      jal lcd_dat
                                                      li t0, 0x06
                                                      jal lcd_dat
                                                      li t0, 0x09
                                                      jal lcd_dat
                                                      li t0, 0x08
                                                      jal lcd_dat
                                                      li t0, 0x05
                                                      jal lcd_dat
                                                      li t0, 0x29
                                                      jal lcd_dat
                                                      li t0, 0x44
                                                      jal lcd_dat
                                                      li t0, 0x42
                                                      jal lcd_dat
                                                      li t0, 0x38
                                                      jal lcd_dat
                                                      li t0, 0x14
                                                      jal lcd_dat
                                                      li t0, 0x14
                                                      jal lcd_dat
                                                      li t0, 0x2a
                                                      jal lcd_dat
                                                      li t0, 0x30
                                                      jal lcd_dat
                                                       
                                                      li t0, 0x36
                                                      jal lcd_cmd
                                                      li t0, 0xb0
                                                      jal lcd_dat
                                                       
                                                      li t0, 0x2a
                                                      jal lcd_cmd
                                                      li t0, 0x00
                                                      jal lcd_dat
                                                      li t0, 0x00
                                                      jal lcd_dat
                                                      li t0, 0x01
                                                      jal lcd_dat
                                                      li t0, 0x3f
                                                      jal lcd_dat
                                                       
                                                      li t0, 0x2b
                                                      jal lcd_cmd
                                                      li t0, 0x00
                                                      jal lcd_dat
                                                      li t0, 0x00
                                                      jal lcd_dat
                                                      li t0, 0x00
                                                      jal lcd_dat
                                                      li t0, 0xef
                                                      jal lcd_dat
                                                       
                                                      li t0, 0x3a
                                                      jal lcd_cmd
                                                      li t0, 0x55
                                                      jal lcd_dat
                                                   
                                                      li t0, 0x29
                                                      jal lcd_cmd
                                                       
                                                      li t0, 0x2c
                                                      jal lcd_cmd
                                                   
                                                      li t6, 320 * 80
                                                  red:
                                                      li t0, 0xf800
                                                      jal lcd_dat
                                                      addi t6, t6, -1
                                                      bgtz t6, red
                                                       
                                                      li t6, 320 * 80
                                                  green:
                                                      li t0, 0x7e0
                                                      jal lcd_dat
                                                      addi t6, t6, -1
                                                      bgtz t6, green
                                                       
                                                      li t6, 320 * 80
                                                  blue:
                                                      li t0, 0x1f
                                                      jal lcd_dat
                                                      addi t6, t6, -1
                                                      bgtz t6, blue
                                                  1:
                                                      j 1b
                                                   
                                                  lcd_wr:
                                                      li a0, GPIO_BASE + PD_DAT
                                                   
                                                      li t4, 0x00ff
                                                      and t2, t0, t4
                                                      li t4, 0xff00
                                                      and t3, t0, t4
                                                      sll t2, t2, 1
                                                      sll t3, t3, 2
                                                   
                                                      move t5, t1
                                                      or t5, t5, t2
                                                      or t5, t5, t3
                                                      sw t5, 0(a0)
                                                   
                                                      li t0, LCD_WR
                                                      or t5, t5, t0
                                                      sw t5, 0(a0)
                                                      jr ra
                                                   
                                                  lcd_dat:
                                                      move a1, ra
                                                      li t1, LCD_RS | LCD_RD | LCD_BL | LCD_RST
                                                      jal lcd_wr
                                                      jr a1
                                                   
                                                  lcd_cmd:
                                                      move a1, ra
                                                      li t1, LCD_RD | LCD_BL | LCD_RST
                                                      jal lcd_wr
                                                      jr a1
                                                   
                                                  lcd_rst:
                                                      move a1, ra
                                                      li t0, 0x00000000
                                                      li a0, GPIO_BASE + PD_DAT
                                                      sw t0, 0(a0)
                                                   
                                                      li t0, _250MS
                                                      jal delay
                                                   
                                                      li t0, 0xffffffff
                                                      li a0, GPIO_BASE + PD_DAT
                                                      sw t0, 0(a0)
                                                   
                                                      li t0, _250MS
                                                      jal delay
                                                      jr a1
                                                   
                                                  delay:
                                                      addi t0, t0, -1
                                                      bgtz t0, delay
                                                      jr ra
                                                      .end
                                                  

                                                   
                                                  完成
                                                  11.jpg

                                                  请教@steward 这个main.s文件 怎么加载到启动完成的系统中去执行啊,目前在配置lcd需要在上面 修改些参数

                                                  1 Reply Last reply Reply Quote Share 0
                                                  • J
                                                    johnaa LV 2 @lovehex99 last edited by

                                                    @lovehex99
                                                    请问哪里买的?谢

                                                    L 1 Reply Last reply Reply Quote Share 0
                                                    • L
                                                      lovehex99 LV 5 @johnaa last edited by

                                                      @johnaa 在 Gaviar Handheld (小志掌機) 中说:

                                                      @lovehex99
                                                      请问哪里买的?谢

                                                      TAOBAO

                                                      xiaowenge 1 Reply Last reply Reply Quote Share 0
                                                      • xiaowenge
                                                        DOT小文哥 LV 8 @lovehex99 last edited by

                                                        @johnaa 在 Gaviar Handheld (小志掌機) 中说:

                                                        @lovehex99
                                                        请问哪里买的?谢

                                                        淘宝晕哥(哇酷)家的店有卖:
                                                        https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-24100641678.20.374078c9as1fAj&id=725660521821

                                                        1 Reply Last reply Reply Quote Share 0
                                                        • J
                                                          johnaa LV 2 @yofa2008 last edited by

                                                          @yofa2008 你好,蓝色的有按钮的板是哪里买的?

                                                          Y 1 Reply Last reply Reply Quote Share 0
                                                          • Y
                                                            yofa2008 LV 5 @johnaa last edited by

                                                            @johnaa 临时自己打板做的,用它来完成gpio转接

                                                            1 Reply Last reply Reply Quote Share 0
                                                            • Y
                                                              yofa2008 LV 5 @lovehex99 last edited by

                                                              @lovehex99 你github下载的工程能编译出可运行的img吗? 在没有任何改动的情况下,编译出的img串口启动时提示出错,我用的是ubuntu20.04。292e34e2-4905-4afe-8adf-c197f72fd97d-image.png
                                                              有没有什么思路?

                                                              L Y 2 Replies Last reply Reply Quote Share 0
                                                              • L
                                                                lovehex99 LV 5 @yofa2008 last edited by

                                                                @yofa2008
                                                                很久没玩了 我在等晕哥的安卓掌机

                                                                Y 1 Reply Last reply Reply Quote Share 0
                                                                • Y
                                                                  yofa2008 LV 5 @lovehex99 last edited by

                                                                  @lovehex99 别啊,这就弃坑了吗?我的F1C100都还在坑里呢

                                                                  L 1 Reply Last reply Reply Quote Share 0
                                                                  • Y
                                                                    yofa2008 LV 5 @yofa2008 last edited by

                                                                    我用MangoPI官网的github包编译出能正常启动的img,网址(https://mangopi.org/mqr);
                                                                    !LOG_.png
                                                                    但用司徒大神的包编译的img始终不能正常引导,提示如之前反馈的错误,大致意思是两个ERROR:没有找到uboot.fex头和opensbi.fex头;
                                                                    !
                                                                    对比了一些目录发现差异还是比较多的,特别是lichee\brandy-2.0\spl下面:
                                                                    司徒大神的包里面没有找到sboot文件夹,不知道是啥原因;
                                                                    LOG_2.png
                                                                    我按@steward 你的包编译的固件日志第二行直接调用了include\commit_info.h的CI_INFO那个hash,但你编译好的Img第二行是sh脚本调用log文件生成的。能提示可能是什么原因吗?
                                                                    MangoPI使用的是lichee\brandy-2.0\目录下的spl-pub,里面内容和你的spl文件目录相差还是比较大。目前已经重新在github上多次下载并编译,问题仍然一致。基本可以排除文件 不一致造成的

                                                                    1 Reply Last reply Reply Quote Share 0
                                                                    • L
                                                                      lovehex99 LV 5 @yofa2008 last edited by

                                                                      @yofa2008 司徒大神都鴿了 暈哥的安卓掌機也...

                                                                      Y 1 Reply Last reply Reply Quote Share 0
                                                                      • Y
                                                                        yofa2008 LV 5 @lovehex99 last edited by

                                                                        @lovehex99 啊嘻,这……哈哈哈原来是这样,

                                                                        1 Reply Last reply Reply Quote Share 0
                                                                        • 1
                                                                        • 2
                                                                        • 2 / 2
                                                                        • First post
                                                                          Last post

                                                                        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                                                                        行为准则 | 用户协议 | 隐私权政策