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

北沙滩网站建设公司3d建模师未来发展前景

北沙滩网站建设公司,3d建模师未来发展前景,wordpress xy 变装,wordpress整合ldap文章目录 前言串口乱码问题定位内核修改晶振频率uboot 修改晶振频率番外篇 前言 上篇文章《ARM DIY 硬件调试》介绍了 DIY ARM 板的基础硬件焊接#xff0c;包括电源、SOC、SD 卡座等#xff0c;板子已经可以跑起来了。 但是发现串口乱码#xff0c;今天就来解决串口乱码问… 文章目录 前言串口乱码问题定位内核修改晶振频率uboot 修改晶振频率番外篇 前言 上篇文章《ARM DIY 硬件调试》介绍了 DIY ARM 板的基础硬件焊接包括电源、SOC、SD 卡座等板子已经可以跑起来了。 但是发现串口乱码今天就来解决串口乱码问题。 串口乱码问题定位 串口出现乱码通常是波特率设置的不对仔细检查了下 设备树配置的波特率 chosen {stdout-path serial0:115200n8;};和 xshell 的串口参数 都是 115200配置没有问题。 想到是不是晶振实际频率和配置的不一致。 板子上焊接的是 26MHz设备树中配置的是 24000000这样导致系统时钟不正确最终产生的串口波特率不是 115200所以乱码。 内核修改晶振频率 内核修改晶振频率直接修改上述红框中设备树参数就行了 osc24M: osc24M_clk {#clock-cells 0;compatible fixed-clock;// clock-frequency 24000000;clock-frequency 26000000; // 晶振频率实际为 26MHzclock-accuracy 50000;clock-output-names osc24M;};上电发现内核串口输出已经正常但是 uboot 串口输出还是乱码 Qµ!ݿN¡¬,º¢§ʖʘʛS#⑭®ª¨ J¥*T ¤VնӝջᏎݵ6£¤¤Q¨©#ճ鎖ƘڐʘʛW#⑥ªٴ7䙵Rų䝼w儑 £¥u¡ĭ±셲Re³¢«-*A ƕ#Q¬®KՐIAª9כD:Ѣ#N¥®EA«陝£{A¡cѺ앥CA¶כA¦(Ωº ^Ųݷ¶LɐY½V썐®ͱ-CAµkպ䝵K#Ű¢­ن*§³)^Ѡʳ*V隂NNѱa♂QH鞂VJաa⑂2ݐ)[ἭݹC]ҡ±/썐©]ي᳃ٵՁ¦Wݴ#ٹªɹӝ A±-娝·Kþ$þ͸ӝŲ/Gѷ;A²º¯7aªA´9;ō¶*sAµ«$麅´VU¢骩)ݷűź#˅¡¢ِº厙Қa£*αUю)ͳ썐ߥ±Ꭼҙښ¢.¯取6ɐ.º厥«#]³ª¨ґ帩ɱªِ²폁²6բ1Uю麩Sɐ¬峩ѿ*ѻ鸷A¹V䍐[A¦A²¸3⑂6¤ɱ{A¤-/7ՐE͵ӝCͱݰύ%傧U ѡz썐]Jٱºن#٠ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.3.5 (liyongjunBox) (gcc version 12.3.0 (Buildroot 2023.08-rc1-102-g51dbde549e)) #3 SMP Thu Aug 17 04:19:40 CST 2023 [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr10c5387d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: Lichee Pi Zero with Dock [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] cma: Reserved 16 MiB at 0x41c00000 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: Using PSCI v0.1 Function IDs from DT [ 0.000000] percpu: Embedded 15 pages/cpu s30412 r8192 d22836 u61440 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: consolettyS0,115200 panic5 consoletty0 rootwait root/dev/mmcblk0p2 earlyprintk rw [ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear) [ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:offuboot 修改晶振频率 那就接着修改 uboot 晶振频率配置同样修改设备树参数 osc24M: osc24M_clk {#clock-cells 0;compatible fixed-clock;// clock-frequency 24000000;clock-frequency 26000000;clock-accuracy 50000;clock-output-names osc24M;};上电发现 uboot 串口打印还是乱码。查看 uboot 编译选项确认 uboot 启用了设备树并且修改的设备树参数也已经被 C 代码解析到了是 26000000不过串口还是乱码。 最终通过修改 .h 文件中的 CONFIG_SYS_NS16550_CLK 参数成功修复了 uboot 串口乱码的问题 ns16550 是很多 SOC 使用的串口芯片 IP。 在上面截图的最后可以看到 #define COUNTER_FREQUENCY 24000000 这个配置这个参数仍然保持 24000000 而 uboot 串口也不会乱码说明 uboot 的串口时钟设置并不像 kernel 那样基于 CPU 时钟而是有自己单独的一个参数 CONFIG_SYS_NS16550_CLK这也解释了为什么一开始配置 uboot 设备树的 CPU 时钟仍然解决不了串口打印乱码的问题。 最终 uboot 和 kernel 的串口打印都正常了 U-Boot SPL 2022.01 (Aug 19 2023 - 23:03:28 0800) DRAM: 64 MiB Trying to boot from MMC1U-Boot 2022.01 (Aug 19 2023 - 23:03:28 0800) Allwinner TechnologyCPU: Allwinner V3s (SUN8I 1681) Model: Lichee Pi Zero DRAM: 64 MiB WDT: Not starting watchdog1c20ca0 MMC: mmc1c0f000: 0 Loading Environment from FAT... Unable to read uboot.env from mmc0:1... In: serial1c28000 Out: serial1c28000 Err: serial1c28000 Net: No ethernet found. Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot.scr 292 bytes read in 2 ms (142.6 KiB/s) ## Executing script at 41900000 4183712 bytes read in 349 ms (11.4 MiB/s) 9041 bytes read in 4 ms (2.2 MiB/s) Kernel image 0x41000000 [ 0x000000 - 0x3fd6a0 ] ## Flattened Device Tree blob at 41800000Booting using the fdt blob at 0x41800000Loading Device Tree to 42dfa000, end 42dff350 ... OKStarting kernel ...[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.3.5 (liyongjunBox) (gcc version 12.3.0 (Buildroot 2023.08-rc1-102-g51dbde549e)) #3 SMP Thu Aug 17 04:19:40 CST 2023 [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr10c5387d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: Lichee Pi Zero with Dock [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] cma: Reserved 16 MiB at 0x41c00000 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: Using PSCI v0.1 Function IDs from DT [ 0.000000] percpu: Embedded 15 pages/cpu s30412 r8192 d22836 u61440 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: consolettyS0,115200 panic5 consoletty0 rootwait root/dev/mmcblk0p2 earlyprintk rw [ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear) [ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off 番外篇 在一开始没有找到解决 uboot 串口打印乱码问题办法的时候又想通过 uboot 本身来看出一些端倪怎么办呢我想到了一个办法因为实际晶振频率从 24MHz 变成了 26MHz那么串口波特率就会从 115200 变成115200 / 24 * 26 124800那就把 xshell 的串口波特率设置成 124800 这样串口打印也不乱码了 U-Boot 2022.01 (Aug 19 2023 - 23:03:28 0800) Allwinner TechnologyCPU: Allwinner V3s (SUN8I 1681) Model: Lichee Pi Zero DRAM: 64 MiB WDT: Not starting watchdog1c20ca0 MMC: mmc1c0f000: 0 Loading Environment from FAT... Unable to read uboot.env from mmc0:1... In: serial1c28000 Out: serial1c28000 Err: serial1c28000 Net: No ethernet found. Hit any key to stop autoboot: 0 printenv archarm baudrate115200 boardsunxi board_namesunxi boot_a_scriptload ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr} boot_efi_binaryload ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi boot_efi_bootmgrif fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr;fi boot_extlinuxsysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf} boot_prefixes/ /boot/ boot_script_dhcpboot.scr.uimg boot_scriptsboot.scr.uimg boot.scr boot_syslinux_confextlinux/extlinux.conf boot_targetsfel mmc0 pxe dhcp bootcmdrun distro_bootcmd bootcmd_dhcpdevtypedhcp; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z ${fdtfile} -a -n ${soc}; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:UNDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci; bootcmd_felif test -n ${fel_booted} test -n ${fel_scriptaddr}; then echo (FEL boot); source ${fel_scriptaddr}; fi bootcmd_mmc0devnum0; run mmc_boot bootcmd_pxedhcp; if pxe get; then pxe boot; fi bootdelay2 bootm_size0x2e00000 consolettyS0,115200 cpuarmv7 dfu_alt_info_ramkernel ram 0x41000000 0x1000000;fdt ram 0x41800000 0x100000;ramdisk ram 0x41C00000 0x4000000 distro_bootcmdfor target in ${boot_targets}; do run bootcmd_${target}; done efi_dtb_prefixes/ /dtb/ /dtb/current/ fdt_addr_r0x41800000 fdtcontroladdr43d71610 fdtfilesun8i-v3s-licheepi-zero.dtb fdtoverlay_addr_r0x41B00000 kernel_addr_r0x41000000 load_efi_dtbload ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile} loadaddr0x42000000 mmc_bootif mmc dev ${devnum}; then devtypemmc; run scan_dev_for_boot_part; fi mmc_bootdev0 partitionsnameloader1,start8k,size32k,uuid${uuid_gpt_loader1};nameloader2,size984k,uuid${uuid_gpt_loader2};nameesp,size128M,bootable,uuid${uuid_gpt_esp};namesystem,size-,uuid${uuid_gpt_system}; pxefile_addr_r0x41A00000 ramdisk_addr_r0x41C00000 scan_dev_for_bootecho Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi; scan_dev_for_boot_partpart list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done; setenv devplist scan_dev_for_efisetenv efi_fdtfile ${fdtfile}; if test -z ${fdtfile} -a -n ${soc}; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;run boot_efi_bootmgr;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile scan_dev_for_extlinuxif test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi scan_dev_for_scriptsfor script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done scriptaddr0x41900000 serial#12c0000127c26729 socsunxi stderrserial1c28000 stdinserial1c28000 stdoutserial1c28000 uuid_gpt_espc12a7328-f81f-11d2-ba4b-00a0c93ec93b uuid_gpt_system69dad710-2ce4-4e3c-b16c-21a1d49abed3Environment size: 4258/131068 bytes然后通过 uboot 的串口打印以及环境变量来找寻更多信息帮助解决问题。
http://www.w-s-a.com/news/301040/

相关文章:

  • 做网站的职位叫什么问题常州金坛网站建设
  • 保健品网站模板用jsp做的网站前后端交互
  • 网站带后台品牌网页设计图片
  • 保定清苑住房和城乡建设局网站分类信息网站程序
  • 可以做视频推广的网站选择大连网站建设
  • 在线网站开发网站在哪里
  • 建站的步骤上海快速优化排名
  • 招聘网站做一下要多少钱网站设计公司 国际
  • 巩义专业网站建设公司首选seo研究院
  • 大流量网站解决访问量友情链接如何添加
  • 教育网站建设网永康市住房和城乡建设局网站
  • 阿里巴巴官网网站django 做网站的代码
  • 网站建设 军报wordpress 订餐模板
  • 网站虚拟主机 会计处理石家庄站建设费用多少
  • 网站建设 服务内容 费用简述网站开发流程
  • 公司制作网站跟企业文化的关系空间制作网站
  • 浙江建设监理协会网站个人网站设计规划书
  • wordpress太卡了贵州seo推广
  • 企业介绍微网站怎么做的手机软件商城免费下载
  • 新手网站设计定价网站开发销售
  • 网站开发公司oa有没有找人做标书的网站
  • 传统门户网站有哪些人武部正规化建设
  • 台州网站制作方案免费无代码开发平台
  • 精通网站建设 pdf微盘学做电商的步骤
  • 想在网上做设计接单有没有网站找一个免费域名的网站
  • 湘潭市网站建设科技有限公司杭州网站建设(推荐乐云践新)
  • 优秀网站评析西双版纳傣族自治州民宿
  • 常用的cms建站系统c2c网站模板
  • wordpress更换图标seo网站建设公司
  • 网站备案 深圳小程序怎么进入公众号